THotPDF.RegisterLuminositySoftMaskState 方法

构建一个有界的 DeviceGray 透明组 Form XObject,返回把该 Form 应用为明度 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 字典使用 /S /Luminosity 和黑色 /BC [0] 背景板

alpha 来源必须在注册前按灰度值绘制,这样 PDF 的明度运算才能复现 alpha,而不是从 RGB 颜色的视觉亮度推导不透明度

图案和图像 XObject 链接进 Form 资源字典,不复制其已编码的流

该方法要求 PDF 1.4 透明度,拒绝 PDF/A-1 输出,并在分配 Form 之前校验所有边界、资源数量、名称、序号和 soft mask 链接

返回值

返回稳定的 ExtGState 资源名,供 THPDFPage.SetGraphicsState 使用;当配置的 PDF 版本策略不接受 PDF 1.4 时返回空字符串

相关 API

THPDFFormImageResource · THotPDF.RegisterSoftMaskState · THotPDF.RegisterImageTilingPattern