HPDFEncodePredictor-Funktion
Kodiert vollständige Rasterzeilen mit den PDF-TIFF- oder PNG-Prädiktortransformationen vor der Flate- oder LZW-Komprimierung
Deklaration
function HPDFEncodePredictor(const Data: AnsiString; Predictor, Colors,
BitsPerComponent, Columns: Integer; MaxOutputBytes: Int64= 0): AnsiString;
Unit
HPDFPredictor
Parameter
| Name | Zweck |
|---|---|
Data | Ungefilterte Zeilen, gepackt in PDF-Sample-Reihenfolge |
Predictor | 1 für Identity, 2 für horizontale TIFF-Differenzbildung, 10 bis 14 für feste PNG-Filter oder 15 für adaptive PNG-Auswahl pro Zeile |
Colors | Anzahl der Farbkomponenten pro Pixel |
BitsPerComponent | Sample-Breite von 1, 2, 4, 8 oder 16 Bit |
Columns | Pixelanzahl in jeder vollständigen Eingabezeile |
MaxOutputBytes | Optionale harte Ausgabeobergrenze oder null für keine explizite Obergrenze |
Rückgabewert
Gibt prädiktor-kodierte Bytes zurück, die für einen passenden Kompressionsfilter bereit sind
Verwendungshinweise
- Die Eingabelänge muss ein genaues Vielfaches der berechneten Zeilengröße sein
- Die TIFF-Kodierung unterstützt gepackte und 16-Bit-Samples und bewahrt ungenutzte Zeilen-Padding-Bits
- Der PNG-Prädiktor
15bewertet None, Sub, Up, Average und Paeth für jede Zeile und gibt den kleinsten Residualwert aus HPDFTryEncodePredictorgibt eine Fehlermeldung zurück, anstattEHPDFPredictorErrorauszulösen- Verwenden Sie dieselbe Prädiktor-Geometrie im
/DecodeParms-Wörterbuch des Streams
Beispiel
Predicted := HPDFEncodePredictor(Raster, 15, 3, 8, Width);
Decoded := HPDFDecodePredictor(Predicted, 15, 3, 8, Width);