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

ClosePath (h)

ClosePath演算子(PDFコンテンツストリームでは`h`コマンドで表される)は、現在のサブパスの開始点から現在の点まで直線セグメントを追加することで、現在のサブパスを閉じるパス構築演算子です。

キーワード: closepath (h), ClosePath (h)

概要

ClosePath演算子(PDFコンテンツストリームではhコマンドで表される)は、現在のサブパスの開始点から現在の点まで直線セグメントを追加することで、現在のサブパスを閉じるパス構築演算子です。 ( 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グラフィックスにおいて多角形、矩形、その他の閉図形などの閉じた幾何学的形状を作成するために不可欠です。単に開始点まで線を引き戻すのとは異なり、ClosePath演算子はパスを明示的に閉じたものとしてマークします。これは、特に線端や線接合を使用してストロークする際のパスのレンダリング方法に影響します。

定義

ClosePath(h)は、PDFコンテンツストリームにおけるパス構築演算子で、現在の点からサブパスの開始点まで直線セグメントで接続することで現在のサブパスを終了します。この演算子はオペランドを取らず、この最終接続セグメントを追加してサブパスを明示的に閉じたものとしてマークすることで現在のパスを変更します。この区別は重要です。なぜなら、視覚的に閉じているように見えるパス(開始点まで手動で線を引いた場合)と、h演算子を使用して形式的に閉じられたパスは異なるためです。後者は、パスが閉じる点で、特にストローク時の線接合スタイルに関して、適切なレンダリング動作を保証します。

ClosePath演算子は、LineTo(l)などの他のパス構築演算子と異なり、線セグメントを描画するだけでなく、サブパスの状態を「閉じた」状態に変更します。サブパスが閉じたものとしてマークされると、PDFレンダラーはパスが閉じる接合部に線接合スタイル(マイター、ラウンド、またはベベル)を適用します。これは、2つの独立した線の端点で発生する線端スタイルの適用とは異なります。

重要性

PDF生成や操作を行う開発者にとって、ClosePath演算子の理解は、適切にレンダリングされる幾何学的形状を作成するために不可欠です。hを使用することで、閉図形が閉じる接合部を含むすべての頂点で一貫したストローク外観を持って正しく表示されることが保証されます。パスを明示的に閉じない場合、図形はパスの終点と開始点が出会う場所で、隙間や不一致な線端スタイルなどの視覚的なアーティファクトが発生する可能性があります。

この演算子は、ドキュメントのジオメトリを解析したり、ヒットテストを実行したり、塗りつぶし操作を実装したりするPDF処理アプリケーションにとっても重要です。明示的に閉じられたパスと開いたパスの区別は、塗りつぶしルールの計算やパス包含テストに影響します。さらに、クリッピングパスや複雑なベクターグラフィックスを扱う場合、適切に閉じられたサブパスは、異なるPDFビューアやプロセッサ間で予測可能なレンダリング動作を保証します。

仕組み

コンテンツストリーム内でClosePath演算子が検出されると、PDFレンダラーは以下の処理を実行します:

  1. 線セグメントの作成:現在の点から現在のサブパスの開始点まで直線セグメントが追加されます。これはLineTo操作が生成するものと同じです。

  2. サブパスの閉鎖:サブパスは内部的に閉じたものとしてマークされ、これは後続のレンダリング操作に影響します。

  3. 現在の点の更新:現在の点はサブパスの開始点(これは追加されたセグメントの終点でもあります)に留まります。

閉じた状態は、特定の方法でレンダリングに影響します。閉じたパスをストロークする場合、グラフィックス状態で指定された線接合スタイルが閉じる接合部に適用され、視覚的な連続性が確保されます。パスを塗りつぶす場合、明示的に閉じられたサブパスは、塗りつぶしルール(非ゼロワインディング数ルールまたは偶奇ルール)の目的においては閉じていないサブパスと同様に扱われますが、明示的な閉鎖によってパストポロジーに曖昧さがないことが保証されます。 ( 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コンテンツストリームでは、ClosePath演算子は単純なhコマンドとして表示されます。例えば、閉じた三角形を構築する場合は次のようになります:100 100 m 200 100 l 150 200 l h S。ここで、mは開始点を設定し、2つのl演算子が線セグメントを描画し、hがパスを閉じ、Sがストロークします。

この演算子は現在のサブパスのみを閉じることができます。現在のサブパスが存在しない場合(現在の点が定義されていない場合)、ClosePath演算子は効果がありません。単一のパスオブジェクト内に複数のサブパスを作成でき、各サブパスはパス描画操作が実行される前に、個別のh演算子を使用して独立して閉じることができます。

関連用語

  • Path Construction Operators(パス構築演算子) – PDFコンテンツストリームで幾何学的パスを定義するために使用される演算子のセット(MoveTo、LineTo、CurveTo、ClosePathを含む)
  • Subpath(サブパス) – MoveTo操作で始まり、閉じられるか新しいMoveToが別のサブパスを開始するまで他のパス構築演算子で継続するパスの一部
  • Stroke Operation(ストローク操作) – 現在のストローク色、線幅、およびグラフィックス状態パラメータを使用してパスの輪郭に沿って描画するパス描画操作
  • Line Join Style(線接合スタイル) – パスをストロークする際に角がどのようにレンダリングされるかを決定するグラフィックス状態パラメータ(マイター、ラウンド、またはベベル接合)
  • Fill Operation(塗りつぶし操作) – 非ゼロワインディング数ルールや偶奇ルールなどの塗りつぶしルールを使用して、閉じたパスの内部領域を塗りつぶすパス描画操作

出典

(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