THotPDF.DecodeLoadedImageColorKeyMask Method
為字典帶有陣列型 /Mask 條目的已載入影像建立 color-key mask 點陣圖
宣告
function DecodeLoadedImageColorKeyMask(
AImageStream: THPDFStreamObject): TBitmap;
單元
HPDFDoc
參數
| 名稱 | 用途 |
|---|---|
AImageStream | 字典裡帶有 color-key /Mask 陣列的已載入影像串流物件 |
傳回值
與影像同尺寸的 24 位元灰階點陣圖:取樣值全部落在各自分量範圍內的像素標成黑,任一分量超出範圍的像素標成白;影像不符合條件時為 nil
使用說明
- 資格條件比照 PDF color-key masking 規則:影像必須可解碼、不是 image mask、帶 1 到 4 個色彩分量,且擁有每個分量 2 個值的 /Mask 陣列
- 範圍會與儲存的原樣取樣值比較,也就是在
/Decode之前;對 Indexed 影像而言那就是調色盤索引,因此同一顏色的兩個條目可能得到不同的遮罩結果 - DCTDecode、JPXDecode、JBIG2Decode 與 CCITT 編碼的串流回傳 nil:破壞性壓縮的編解碼器不會保留確切的取樣值
RenderLoadedPageToBitmap與BuildLoadedPageSVG繪製影像時會套用此遮罩- 解碼會遵守設定的解碼位元組預算,惡意或過大的影像會乾脆地失敗,不會把記憶體吃光
- 傳回的點陣圖由呼叫端負責釋放;搭配
DecodeLoadedImageStream使用,可以預覽檢視器會把哪些區域當成遮罩