Image dictionary key /SMask
Image XObjectディクショナリ内の`/SMask`キーは、関連付けられた画像のピクセル単位の透明度を制御するソフトマスクを定義します。
Image XObjectディクショナリ内の/SMaskキーは、関連付けられた画像のピクセル単位の透明度を制御するソフトマスクを定義します。単純な二値透明度を使用するハードマスクとは異なり、ソフトマスクはグレースケール値を通じて段階的な透明度を提供し、ぼかし、影、アンチエイリアスされたエッジなどの複雑な視覚効果を可能にします
(
Citation: N.A., 2020
(N.A.).
(2020).
Document management — Portable document format — Part 2: PDF 2.0
.
International Organization for Standardization
Retrieved from
https://www.iso.org/standard/75839.html
)
。このディクショナリエントリは、PDF文書内で滑らかな透明度遷移を持つ画像をレンダリングするために不可欠です。
/SMaskは、Image XObjectディクショナリ内のオプションエントリで、ソフトマスクとして機能する別のImage XObjectを参照します。ソフトマスクは、ピクセル値が親画像内の対応するピクセルの不透明度を決定するグレースケール画像です。通常、明るい値はより高い不透明度を表し、暗い値はより高い透明度を示します。/SMaskの値は、画像ディクショナリまたはNoneという名前のいずれかでなければなりません。
これは、カラーキーマスキングまたは二値透明度を持つ明示的なマスク画像を使用してハード(二値)マスキングを提供する/Maskエントリとは異なります。/Maskが鋭いエッジの透明度境界を作成する一方で、/SMaskは256以上のレベルの半透明度を持つ連続的なアルファチャンネル制御を可能にします。ソフトマスクメカニズムはハードマスキングよりも高度で、事前乗算アルファ合成のためのマットカラー補正などの機能をサポートしています
(
Citation: N.A., 2020
(N.A.).
(2020).
Document management — Portable document format — Part 2: PDF 2.0
.
International Organization for Standardization
Retrieved from
https://www.iso.org/standard/75839.html
)
。
PDF生成または操作を行う開発者にとって、/SMaskは、現代のグラフィックスソフトウェアからユーザーが期待する最新の透明効果を実装するために重要です。ソフトマスクサポートがないと、アプリケーションは段階的な透明度、アンチエイリアスされたエッジ、または複雑な合成効果を持つ画像を適切にレンダリングできません。この制限は、Webグラフィックス(アルファチャンネル付きPNG)やデザインファイル(Photoshop、Illustrator)をPDF形式に変換する際に特に顕著になります。
/SMaskを理解することで、開発者はアルファチャンネルを持つ画像を処理する際に視覚的忠実度を保持でき、透明度情報が失われたり、不透明な領域として誤ってレンダリングされたりしないことを保証します。アクセシビリティアプリケーションの場合、ソフトマスクの適切な処理により、装飾的な透明オーバーレイがコンテンツ抽出を妨げないことが保証されますが、これにはTagged PDF構造での慎重な考慮が必要です
(
Citation: PDF Association, 2023
PDF Association(2023). Retrieved from
https://pdfa.org/resource/tagged-pdf-best-practice-guide-syntax/
)
。
/SMaskによって参照されるソフトマスクImage XObjectは、親画像の寸法と一致する、または寸法にマッピングできるグレースケール画像(単一カラーコンポーネント)でなければなりません。ソフトマスク内の各ピクセル値は、レンダリング中に親画像内の対応するピクセルの不透明度を決定します。値1.0(白)は通常完全な不透明度を示し、0.0(黒)は完全な透明度を示しますが、これはソフトマスクディクショナリ内の/Decode配列を使用して反転できます。
ソフトマスクディクショナリ自体には、その動作を制御する追加のエントリを含めることができます。
/Subtype–/Alphaまたは/Luminosityでなければならず、マスクが画像のアルファ値を直接使用するか、輝度計算から不透明度を導出するかを示します/Matte– 事前乗算アルファ補正に使用されるマットカラーを指定するオプション配列で、合成時のエッジアーティファクトを防止します/ColorSpace、/BitsPerComponent、/Decode– マスクデータの解釈方法を定義する標準的な画像プロパティ
PDFレンダラーが/SMaskを持つ画像を処理する際、画像をページ上に合成する前に、各ピクセルの不透明度を調整するためにソフトマスク値を適用します。これは、ブレンドモード、透明度グループ、およびその他の高度な合成操作をサポートするPDF透明度モデル内で発生します
(
Citation: N.A., 2020
(N.A.).
(2020).
Document management — Portable document format — Part 2: PDF 2.0
.
International Organization for Standardization
Retrieved from
https://www.iso.org/standard/75839.html
)
。
- Image XObject – ページ上に描画できるラスター画像データを表すPDFストリームオブジェクト
- Transparency group(透明度グループ) – 透明度計算のために複数のグラフィカルオブジェクトを単一のユニットとして扱う合成メカニズム
- Blend mode(ブレンドモード) – 透明なオブジェクトが重なったときに色がどのように相互作用するかを決定するアルゴリズム
- Mask(マスク) – カラーキーまたは明示的なマスク画像を使用するハード(二値)透明度メカニズム
- Alpha channel(アルファチャンネル) – 画像形式でカラーデータとともに保存されるピクセルレベルの不透明度情報
- (N.A.) (2020)
- (N.A.). (2020). Document management — Portable document format — Part 2: PDF 2.0 . International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html
- PDF Association (2023)
- PDF Association(2023). Retrieved from https://pdfa.org/resource/tagged-pdf-best-practice-guide-syntax/
