THotPDF.DecodeLoadedImageColorKeyMask Method
为字典带数组型 /Mask 条目的已加载图像构建 color-key 掩码位图
声明
function DecodeLoadedImageColorKeyMask(
AImageStream: THPDFStreamObject): TBitmap;
单元
HPDFDoc
参数
| 名称 | 用途 |
|---|---|
AImageStream | 字典里带 color-key /Mask 数组的已加载图像流对象 |
返回值
与图像尺寸一致的 24 位灰度位图:样本全部落在各自分量范围内的像素标黑,任一分量越界的像素标白;图像不符合条件时返回 nil
使用说明
- 资格判定与 PDF color-key 掩码规则一致:图像必须可解码、不是 image mask、带 1 到 4 个颜色分量,且拥有每个分量 2 个值的 /Mask 数组
- 范围与存储原样的样本比较,即在
/Decode之前;对 Indexed 图像这就是调色板索引,因此同色的两个条目可能被掩码处理得不同 - DCTDecode、JPXDecode、JBIG2Decode 和 CCITT 编码的流返回 nil:有损编解码器不保留精确的样本值
RenderLoadedPageToBitmap和BuildLoadedPageSVG绘制图像时会应用此掩码- 解码受配置的 decode 字节预算约束,恶意或超大的图像会干净地失败,而不是耗尽内存
- 返回的位图归调用方所有;配合
DecodeLoadedImageStream可以预览查看器会把哪些区域当作被掩码的部分