HPDFSelectFlatePredictor Function
通过比较有界的分布式行采样,在 identity、TIFF 和 PNG predictor 编码之间做出选择
声明
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,或 10 到 15 之间的某个 PNG predictor
使用说明
- 从
HPDFDefaultFlatePredictorSelectionOptions出发,只覆盖当前负载需要的预算或 CPU 权重 - 行采样在完整输入上确定性进行,而不是只看开头几个字节
- 选择器绝不会超出
MaxSampleBytes、MaxSampleRows或MaxWorkUnits - 当几个 predictor 的估算字节成本接近时,更高的
CPUCostWeight会偏向开销更低的那个 - 如果希望非法几何参数或选项返回诊断信息而不是抛出
EHPDFPredictorError,改用HPDFTrySelectFlatePredictor
示例
Options := HPDFDefaultFlatePredictorSelectionOptions;
Predictor := HPDFSelectFlatePredictor(Raster, 3, 8, Width, Options, Info);
Predicted := HPDFEncodePredictor(Raster, Predictor, 3, 8, Width);