|
THotPDF.RegisterSampledFunction
|
Øverst |
|
Erklærer et PDF 1.3+ Funktion Type 0 (Sampled) indirekte strømobjekt (ISO 32000-1 7.10.2); samplede funktioner udtrykker en vilkårlig input-til-output-tilknytning som et regelmæssigt N-dimensionalt gitter af M-dimensionale output-samples; gengiveren interpolerer lineært mellem gitterpunkter for at evaluere mellemliggende input; brug dette, hvor ICC-profilmaskineri er overflødigt, men der ønskes en manuelt tilpasset opslagstabel - tonekurver for
Delphi-syntaks: function RegisterSampledFunction(constDomain:array of Single; constRange:array of Single; constSize:array ofInteger; BitsPerSample: Integer;constSamples:array ofbyte; Order: Integer = 1): THPDFStreamObject;
C++-syntaks: THPDFStreamObject* RegisterSampledFunction(const float* Domain, int DomainCount, const float* Range, int RangeCount, const int* Size, int SizeCount, int BitsPerSample, const unsigned char* Samples, int SamplesCount, int Order = 1);
Beskrivelse Funktionen udsendes som en indirekte stream med /FunctionType 0, de leverede /Domain-, /Range-, /Size-, /BitsPerSample- og /Order-poster samt den rå bitpakkede prøvestream. /Encode og /Decode udelades, så specifikationens standardværdier gælder: /Encode kortlægger hvert Domain-endepunkt til gitterudstrækninger [0..Size[i]-1], og /Decode matcher /Range. Prøver udpakkes til heltal og remappes lineært tilbage til Range-endepunkterne. Ved funktioner med flere input følger prøvebyte-rækkefølgen PDF 1.7-reglen 'input coordinates increase fastest along the first input dimension' Order - valgfri, standard 1; accepterer 1 (lineær interpolation, PDF 1.7 standard) eller 3 (kubisk spline-interpolation) pr. PDF 1.7 tabel 38; kubisk giver blødere overgange ved lave prøvegittertætheder (f.eks. 17-punkts ICC-tonekurver), men nogle ældre mobillæsere falder lydløst tilbage til lineær, når de støder på en Order-værdi, de ikke implementerer; tilgængelig siden HotPDF v2.54.0 Ved brugsscenarier med ASCII-input - den typiske oprettelsessti - giver en enkelt 1-indgangs / M-udgangs funktion med BitsPerSample = 8 og Size = [256] en 256-prøve-LUT, hvis stream er nøjagtigt 256 * M bytes udlagt som (o0_0, o1_0, ..., oM-1_0, o0_1, ..., oM-1_255)
Domain - 2N Single-værdier, ordnet Range - 2M Single-værdier med samme form for de M outputdimensioner; output-samples fastklemmes til dette område efter afkodning Size - N heltal, der angiver antallet af gitterpunkter langs hver inputakse BitsPerSample - en af 1, 2, 4, 8, 12, 16, 24 eller 32 pr. PDF 1.7 tabel 38 Samples - den rå bitpakkede prøvestrøm; længden skal være mindst
Returværdi: det indirekteTHPDFStreamObjectså kaldere kan vedhæfte det, hvor der forventes en Function-ordbog (typisk ved at overføre dens indirekte reference til en anden ordbog via
Kodeeksempel
Se også RegisterAxialGradient, RegisterDeviceN, RegisterSeparation, Version, PDF-filterunderstøttelse
|