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;

參數

行為

產生的 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