Skip to main content
Interwork Corporation
IDR Solutions Product Support Portal
PDF開発用語集 モードの切替 ダーク/ライト/自動 モードの切替 ダーク/ライト/自動 モードの切替 ダーク/ライト/自動

Stencil mask

ステンシルマスクは、PDF におけるイメージマスクの特殊な形式で、グラフィックス状態の現在の非ストローク色を使用してページのどの領域を塗りつぶすべきかを定義します。

キーワード: stencil mask, Stencil mask

概要

ステンシルマスクは、PDF におけるイメージマスクの特殊な形式で、グラフィックス状態の現在の非ストローク色を使用してページのどの領域を塗りつぶすべきかを定義します。色データを含む通常の画像とは異なり、ステンシルマスクには色を適用するためのテンプレートとして機能する形状情報のみが含まれます ( Citation: N.A., (N.A.). (). Document management — Portable document format — Part 2: PDF 2.0 International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html ) 。レンダリング時には、ステンシルマスクによって定義された領域で色が「透けて見える」一方、他の領域では色がブロックされます。これは印刷における物理的なステンシルの動作と似ています。

定義

ステンシルマスクは、PDF コンテントストリーム内のイメージ XObject であり、ImageMask エントリが true に設定されていることで、イメージデータが実際の画像サンプルではなくマスクを表すことを示します ( Citation: N.A., (N.A.). (). Document management — Portable document format — Part 2: PDF 2.0 International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html ) 。イメージは 1 ビットのサンプルデータで構成され、各ピクセルはオン(1)またはオフ(0)のいずれかです。「オン」とマークされた領域は現在の非ストローク色で塗りつぶされ、「オフ」の領域は既存の背景が表示されたままになります。

ステンシルマスクは、明示的マスクやソフトマスクといくつかの重要な点で異なります。明示的マスクが別の画像に対する透明度情報を提供し、ソフトマスクがグラデーションの透明効果を提供するのに対し、ステンシルマスクは単純に単色で塗りつぶされるバイナリ領域を定義します。また、固有の色情報を含まないという点で通常の画像とも異なります。色はレンダリング時のグラフィックス状態から完全に取得されます。

重要性

PDF の生成や操作を行う開発者にとって、ステンシルマスクはフルカラーの画像データを保存することなく単色のグラフィックスやアイコンを作成する効率的な方法を提供します。これにより、以下の点で特に価値があります。

  • ファイルサイズの最適化: ステンシルマスクはフルカラー画像と比較して最小限のストレージ(ピクセルあたり 1 ビット)しか必要としないため、ロゴ、アイコン、シンプルなグラフィックスを扱う際に PDF ファイルサイズを大幅に削減できます
  • 動的な色の適用: 同じステンシルマスクをドキュメント全体で異なる非ストローク色で再利用できるため、同じグラフィックスの複数の色付きバージョンを保存する必要がなくなります
  • アクセシビリティへの配慮: アクセシブルな PDF を作成する際、ステンシルマスクの動作を理解することで、グラフィック要素が適切にレンダリングされ、支援技術に対して適切にタグ付けできることを保証できます ( Citation: N.A., (N.A.). (). Document management applications — Electronic document file format enhancement for accessibility — Part 1: Use of ISO 32000-1 (PDF/UA-1) International Organization for Standardization Retrieved from https://www.iso.org/standard/64599.html )

仕組み

PDF レンダラーがコンテントストリーム内のステンシルマスクに遭遇すると、次の技術的なステップに従ってマスクを処理します。

  1. 画像の識別: レンダラーはイメージ XObject 辞書を読み取り、ImageMask キーが true に設定されていることを確認することでステンシルマスクとして識別します
  2. サンプルの解釈: 1 ビットのサンプル値が読み取られ、通常 1 は塗りつぶす領域を表し、0 は透明領域を表します(ただし、Decode 配列でこの解釈を反転できます)
  3. 色の適用: マスクで「オン」とマークされた各ピクセルに対して、レンダラーはグラフィックス状態の現在の非ストローク色を使用してそのピクセルを塗りつぶします
  4. 合成: 塗りつぶされた領域は、現在のブレンドモードとアルファ値に従ってページに合成されます

ステンシルマスクのイメージ辞書には、 ( Citation: N.A., (N.A.). (). Document management — Portable document format — Part 2: PDF 2.0 International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html ) で定義されている特定のエントリを含める必要があります。ImageMask ブール値を true に設定し、WidthHeight で寸法を定義し、通常 BitsPerComponent の値を 1 にします。ColorSpace エントリは存在してはいけません。マスクは色ではなく形状を定義するためです。実際に使用される色は、scscngrgk などのオペレータを通じてグラフィックス状態に設定された現在の非ストローク色によって決定されます。

関連用語

  • Image XObject(イメージ XObject) – コンテントストリーム内でページに描画できる画像を表すストリームオブジェクト
  • Non-stroking color(非ストローク色) – グラフィックス状態で塗りつぶし操作に使用される色で、ステンシルマスクが描画時に使用します
  • Explicit mask(明示的マスク) – 別の画像に対する透明度を定義するマスク画像で、ピクセルごとの不透明度情報を提供します
  • Soft mask(ソフトマスク) – グレースケールのアルファ値を通じてグラデーションの透明効果を提供するイメージマスク
  • Graphics state(グラフィックス状態) – コンテンツのレンダリング方法を制御するパラメータの集合で、色、線のスタイル、ブレンドモードなどが含まれます

出典

(N.A.) (2020)
(N.A.). (). Document management — Portable document format — Part 2: PDF 2.0 International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html
(N.A.) (2014)
(N.A.). (). Document management applications — Electronic document file format enhancement for accessibility — Part 1: Use of ISO 32000-1 (PDF/UA-1) International Organization for Standardization Retrieved from https://www.iso.org/standard/64599.html