Функция HPDFSelectFlatePredictor
Выбирает кодирование с predictor identity, TIFF или PNG, сравнивая ограниченные распределённые выборки строк
Объявление
function HPDFSelectFlatePredictor(const Data: AnsiString; Colors,
BitsPerComponent, Columns: Integer;
const Options: THPDFFlatePredictorSelectionOptions;
out Info: THPDFFlatePredictorSelectionInfo): Integer;
Модуль
HPDFPredictor
Параметры
| Имя | Назначение |
|---|---|
Data | Полные строки без фильтрации, упакованные в порядке сэмплов PDF |
Colors | Количество цветовых компонент на пиксель |
BitsPerComponent | Разрядность сэмпла: 1, 2, 4, 8 или 16 бит |
Columns | Количество пикселей в каждой полной входной строке |
Options | Жёсткие лимиты на байты сэмплов, строки и объём работы плюс вес стоимости CPU |
Info | Возвращает выбранный predictor, размер выборки, число кандидатов, оценочные затраты, израсходованный объём работы и статус бюджета |
Возвращаемое значение
Возвращает 1, 2 или PNG predictor от 10 до 15
Примечания по использованию
- Начните с
HPDFDefaultFlatePredictorSelectionOptionsи переопределяйте только те лимиты или настройки веса CPU, которых требует ваша нагрузка - Строки выбираются детерминированно по всему входу, а не только из его начальных байтов
- Селектор никогда не выходит за пределы
MaxSampleBytes,MaxSampleRowsилиMaxWorkUnits - Чем выше
CPUCostWeight, тем сильнее предпочтение отдаётся более дешёвым predictor при близких оценках стоимости в байтах - Используйте
HPDFTrySelectFlatePredictor, если при некорректной геометрии или опциях нужен диагностический результат вместо исключенияEHPDFPredictorError
Пример
Options := HPDFDefaultFlatePredictorSelectionOptions;
Predictor := HPDFSelectFlatePredictor(Raster, 3, 8, Width, Options, Info);
Predicted := HPDFEncodePredictor(Raster, Predictor, 3, 8, Width);