THotPDF.RegisterLuminositySoftMaskState メソッド
上限付き DeviceGray transparency-group 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には、呼び出し側が指定した PDF 描画オペレータを最大 16 MiB まで格納できますPatternNamesには、登録済みの pattern 名を最大 1024 個まで指定しますImageResourcesには、既存のカラー画像または共有グレースケール画像 soft mask を最大 1024 個まで指定します
動作
生成される Form は /Group << /S /Transparency /CS /DeviceGray /I true >> を宣言し、生成される mask ディクショナリは黒の /BC [0] 背景付きの /S /Luminosity を使います
アルファソースは登録前にグレースケール値として描画しておく必要があります。そうすることで PDF の luminosity 演算がアルファを再現し、RGB 色の視覚的な明るさから不透明度を導出することがなくなります
pattern と image XObject は、エンコード済みストリームを複製せずに Form のリソースディクショナリへリンクされます
このメソッドは PDF 1.4 transparency を要求し、PDF/A-1 出力を拒否し、Form を割り当てる前にすべての境界、リソース数、名前、インデックス、soft-mask リンクを検証します
戻り値
THPDFPage.SetGraphicsState で使える安定した ExtGState リソース名を返します。設定された PDF バージョンポリシーが PDF 1.4 を認めない場合は空の文字列を返します
関連 API
THPDFFormImageResource · THotPDF.RegisterSoftMaskState · THotPDF.RegisterImageTilingPattern