ノード一覧に戻る

パスマスク

path_mask

閉じたベジェパスを白+アルファのマスク画像に変換します

下書き
解説あり

入力ポート

名前説明
パス
path
Path
必須
マスク化するベジェパス

出力ポート

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

パラメータ

名前既定値範囲説明・選択肢
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 / 全部塗る を使います
ノード一覧に戻る
パスマスク — PixPipeline ノード解説