THotPDF.RegisterLuminositySoftMaskState 方法
建立有界的 DeviceGray 透明群組 Form XObject,並傳回可把該 Form 套用為 luminosity soft mask 的 ExtGState 資源名稱
宣告
function RegisterLuminositySoftMaskState(BBoxLLx, BBoxLLy,
BBoxURx, BBoxURy: Single; const Content: AnsiString): AnsiString; overload;
function RegisterLuminositySoftMaskState(BBoxLLx, BBoxLLy,
BBoxURx, BBoxURy: Single; const Content: AnsiString;
const PatternNames: array of AnsiString;
const ImageResources: array of THPDFFormImageResource): AnsiString; overload;
參數
BBoxLLx、BBoxLLy、BBoxURx與BBoxURy定義有限正值的 Form 邊界Content最多容納 16 MiB 呼叫端提供的 PDF 繪圖運算子PatternNames最多提供 1024 個先前註冊的 pattern 名稱ImageResources最多提供 1024 個既有彩色影像或共用的灰階影像 soft mask
行為
產生的 Form 會宣告 /Group << /S /Transparency /CS /DeviceGray /I true >>,產生的 mask dictionary 則使用 /S /Luminosity 並搭配黑色 /BC [0] 背景襯底
alpha 來源必須在註冊前就畫成灰階值,如此 PDF 的 luminosity 運算重現的是 alpha 本身,而不是從 RGB 顏色的視覺亮度推導不透明度
pattern 與影像 XObject 會連結進 Form 的資源 dictionary,不會複製它們已編碼的串流
方法要求 PDF 1.4 透明度支援,拒絕輸出 PDF/A-1,並在配置 Form 之前驗證所有邊界、資源數量、名稱、索引與 soft-mask 連結
傳回值
傳回穩定的 ExtGState 資源名稱,可交給 THPDFPage.SetGraphicsState 使用;當設定的 PDF 版本政策不允許 PDF 1.4 時,則傳回空字串
相關 API
THPDFFormImageResource · THotPDF.RegisterSoftMaskState · THotPDF.RegisterImageTilingPattern