|
THotPDF.RegisterSampledFunction
|
Vrh |
|
Definira PDF 1.3+ funkciju tipa 0 (Sampled) kao neizravni stream objekt (ISO 32000-1 7.10.2). Sampled funkcije izražavaju proizvoljno preslikavanje ulaza u izlaz kao pravilnu N-dimenzionalnu mrežu M-dimenzionalnih izlaznih uzoraka; renderer linearno interpolira između točaka mreže kako bi izračunao međuvrijednosti ulaza. Koristite ovo kada je ICC profile machinery pretjeran, a želi se ručno podešena lookup tablica - tone curves za /TransferFunction (ExtGState /TR), sampled tint transformi za /Separation ili /DeviceN (alternativa linearnoj Type 2 / arithmetic Type 4 putanji), halftone threshold curves ili bilo koji drugi PDF construct koji prihvaća Function rječnik
Delphi syntax: function RegisterSampledFunction(const Domain: array of Single; const Range: array of Single; const Size: array of Integer; BitsPerSample: Integer; const Samples: array of byte; Order: Integer = 1): THPDFStreamObject;
C++ syntax: 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);
Opis Funkcija se emitira kao indirektni stream sa Order - opcionalno, zadano 1. Prihvaća 1 (linearna interpolacija, PDF 1.7 zadano) ili 3 (cubic-spline interpolacija) prema PDF 1.7 Tablici 38. Cubic daje glađe prijelaze pri malim gustoćama sample mreže (npr. 17-točkovne ICC tone curves) ali se neki stariji mobilni čitači tiho vraćaju na linearnu interpolaciju kada naiđu na Order vrijednost koju ne implementiraju. Dostupno od HotPDF v2.54.0 Za slučajeve s ASCII unosom - tipičnu autorsku putanju - jedna funkcija s 1 ulazom / M izlaza uz
Domain - 2N Single values, ordered Range - 2M pojedinačne vrijednosti istog oblika za M izlaznih dimenzija; izlazni uzorci klampaju se na ovaj raspon nakon dekodiranja Size - N cijelih brojeva koji daju broj točaka mreže uz svaku ulaznu os. Duljina(Size) mora biti N. Ukupan broj točaka mreže je umnožak svih Size unosa BitsPerSample - one of 1, 2, 4, 8, 12, 16, 24, or 32 per PDF 1.7 Table 38. Samples - sirovi bit-packed sample stream. Duljina mora biti najmanje ceil(GridPoints * M * BitsPerSample / 8) bajtova. HotPDF kopira zadane bajtove doslovno u neizravni stream objekt; ispravnost bit-packa odgovornost je pozivatelja
Povratna vrijednost: neizravni THPDFStreamObject tako da ga pozivatelji mogu priključiti gdje god se očekuje Function rječnik (najčešće prosljeđivanjem njegove neizravne reference u drugi dict preko AddValue ili shading / separation builderu). Objekt je u vlasništvu dokumentove IndirectObjects liste i oslobađa se na kraju dokumenta. Vraća nil kada je StrictVersionLock uključen i aktivna Version je ispod PDF 1.3 (inače se verzija dokumenta automatski podiže na 1.3)
Code Example
See Also RegisterAxialGradient, RegisterDeviceN, RegisterSeparation, Version, PDF Filter Support
|