ClipNonZeroRule
ClipNonZeroRuleは、Apache PDFBox Javaライブラリにおいて、PDF文書のクリッピングパスに対して非ゼロワインディング数ルールを実装するクラスです。このルールは、パスが特定の点の周りを何回巻き付くかを計算することで、コンテンツをレンダリングする際にページのどの領域を表示すべきかを決定します。非ゼロワインディングルールは、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 ) で定義されている2つのクリッピング方法のうちの1つであり、偶奇ルールと並んで使用されます。
ClipNonZeroRuleは、Apache PDFBoxのグラフィックス状態管理システム内の具象実装クラスで、非ゼロワインディング数アルゴリズムを適用してクリッピング領域を決定します。PDFコンテンツストリームが「W」オペレーター(非ゼロワインディング数ルールを使用したクリップ)を使用する場合、PDFBoxはこのクラスを利用して、どのピクセルをレンダリングし、どのピクセルをマスクすべきかを決定します。境界の交差回数を単純にカウントする偶奇ルールとは異なり、非ゼロワインディングルールはパスセグメントの方向を考慮するため、意図された塗りつぶし領域がパスの自然な流れに従う複雑で自己交差する図形に適しています。このクラスは、PDFBoxのパス構築オペレーターおよびレンダリングパイプラインと連携して、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 ) に従ってPDFコンテンツが正しく表示されることを保証します。
