Back to Node List

Path Mask

path_mask

Convert closed bezier paths into a white alpha mask

Draft
Guide available
The node name and summary are available in English. Port, parameter, and article details are currently shown in Japanese.

Input Ports

NameTypeDescription
パス
path
Path
Required
マスク化するベジェパス

Output Ports

NameTypeDescription
画像
output
Image
パスから生成された白+アルファのマスク画像

Parameters

NameTypeDefaultRangeDescription / Options
width
Int
641–1024

キャンバスの幅(ピクセル)

高さ
height
Int
641–1024

キャンバスの高さ(ピクセル)

重なり方
fill_rule
Enum
Union

重なった閉じパスをどう面として扱うか

  • 全部塗るUnion
    どれか1つの閉じたパスの中にあれば塗ります。普通に図形を重ねたいときはこれです
  • 中を穴にするEvenOdd
    重なるたびに塗る/抜くが切り替わります。ドーナツや枠を作りたいときに使います
  • 向きで穴を決めるNonZero
    パスを描いた向きで塗りか穴かを決めます。外周と穴を自分で描き分けたい上級者向けです
ピクセルパーフェクト
pixel_perfect
Bool
false

ピクセルパーフェクト補正後の輪郭を基準にマスクを作成

PP モード
pp_mode
Enum
RemoveCorner

ピクセルパーフェクト補正でどちらの冗長ピクセルを削除するか

  • 対角優先Diagonal
    水平ステップを削除してより対角的なラインに
  • 直線優先Cardinal
    垂直ステップを削除してより水平/垂直的なラインに
  • 角削除(対称)RemoveCorner
    常に角ピクセルBを削除(ミラー対称保証)
  • 角保持(対称)KeepCorner
    常に角ピクセルBを保持(ミラー対称保証)
閉パス外積モード
pp_closed_cross
Bool
false

閉じたサブパスに外積ベースの内/外エッジ削除を適用

閉パス削除側
pp_closed_side
Enum
Outer

閉パスのどちら側のエッジを削除するか

  • 内側Inner
    内側のエッジを削除
  • 外側Outer
    外側のエッジを削除

概要

  • バージョン: 1
  • ジェネレーター: はい(is_generator: true

重なり方

モード 説明
Union / 全部塗る どれか1つの閉じパスの中にあれば塗る。普通に図形を重ねたいときの基本モード
EvenOdd / 中を穴にする 重なるたびに塗る/抜くが切り替わる。ドーナツや枠のように「中を抜きたい」とき向け
NonZero / 向きで穴を決める パスを描いた向きで塗るか穴にするかを決める。外周と穴を自分で描き分けたい上級者向け

ピクセルパーフェクト

  • オフ: 通常の輪郭を基準にマスクを作る
  • オン: PathStroke と同じ PP 補正後の輪郭を基準にマスクを作る

PathStroke の見た目と面のシルエットを揃えたいときはオンにします。

アルゴリズム

  1. 閉じたサブパスだけを対象に rasterize_subpath で輪郭ピクセル列を取得
  2. 複数サブパスを 1 つの面として扱い、各ピクセル中心に対して fill_rule で内外判定
  3. 塗り領域と輪郭に白 (1,1,1,1) を描き、それ以外は透明のまま出力

使用例

パスからマスクを作る

[MultiPathEditor] → path → [PathMask(fill_rule:Union)] → [Preview]

画像をパス形状で切り抜く

[PixelCanvas] → source → [Mask] → [Preview]
                         ↑
               [PathMask] → mask

将来の面散布の基盤

[MultiPathEditor] → [PathMask] → [MaskScatter]

注意事項

  • 開いたサブパスは無視されます
  • PathFill と違い、複数サブパスをまとめて面として扱います
  • Mask ノードで使う前提のため、出力は白+アルファの画像です
  • 図形が重なった部分もそのまま塗りたい場合は Union / 全部塗る を使います
Back to Node List
Path Mask — PixPipeline Node Reference