HPDFEncodePredictor 函数
在 Flate 或 LZW 压缩之前,使用 PDF TIFF 或 PNG 预测器变换编码完整的栅格行
声明
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);