Функция HPDFEncodePredictor
Кодирует полные растровые строки с преобразованиями PDF-предиктора TIFF или PNG перед сжатием Flate или LZW
Объявление
function HPDFEncodePredictor(const Data: AnsiString; Predictor, Colors,
BitsPerComponent, Columns: Integer; MaxOutputBytes: Int64= 0): AnsiString;
Модуль
HPDFPredictor
Параметры
| Имя | Назначение |
|---|---|
Data | Неотфильтрованные строки, упакованные в порядке выборок PDF |
Predictor | 1 для тождественного преобразования, 2 для горизонтального вычитания TIFF, 10–14 для фиксированных PNG-фильтров или 15 для адаптивного поп строкового выбора PNG |
Colors | Число цветовых компонентов на пиксель |
BitsPerComponent | Разрядность выборки: 1, 2, 4, 8 или 16 бит |
Columns | Число пикселей в каждой полной входной строке |
MaxOutputBytes | Необязательный жёсткий потолок вывода или ноль при отсутствии явного потолка |
Возвращаемое значение
Возвращает байты, закодированные предиктором и готовые для соответствующего фильтра сжатия
Примечания по использованию
- Длина входных данных должна быть точным кратным вычисленному размеру строки
- Кодирование TIFF поддерживает упакованные и 16-битные выборки и сохраняет неиспользуемые биты заполнения строки
- PNG-предиктор
15оценивает None, Sub, Up, Average и Paeth для каждой строки и выдаёт наименьший остаточный результат HPDFTryEncodePredictorвозвращает сообщение об ошибке вместо возбужденияEHPDFPredictorError- Используйте ту же геометрию предиктора в словаре потока
/DecodeParms
Пример
Predicted := HPDFEncodePredictor(Raster, 15, 3, 8, Width);
Decoded := HPDFDecodePredictor(Predicted, 15, 3, 8, Width);