Path Stroke(パスストローク)

ベジェパスに沿ってピクセルパーフェクトなラインを描画するノード。

中級
Since P00

入力ポート

Path(パス)

描画するベジェパス

Path
Color()

線の色(接続時はパラメータより優先)

Color
Fill Color(塗り色)

閉じパスの塗り色(接続時はパラメータより優先)

Color

出力ポート

Image(画像)

描画されたパス画像(透明背景)

Image
Pixel Line(ピクセル線)

描画前のピクセル座標列(下流のピクセル処理用)

PixelLine

パラメータ

名前デフォルト説明
WidthInt64キャンバスの幅(ピクセル)
Height高さInt64キャンバスの高さ(ピクセル)
Thickness太さInt1線の太さ(ピクセル)
ColorColor白 (1,1,1,1)線の色(入力ポート未接続時に使用)
ピクセルパーフェクトピクセルパーフェクトBooltrueL字ダブリを除去して1pxラインを補正(太さ=1のみ有効)
PP モードPP モードEnumRemoveCornerピクセルパーフェクト補正モード(下記参照)
閉パス外積モード閉パス外積モードBoolfalse閉じたサブパスに外積ベースの内/外エッジ削除を適用
閉パス削除側閉パス削除側EnumOuter閉パスのどちら側のエッジを削除するか(Inner / Outer)
閉パス塗りつぶし閉パス塗りつぶしBoolfalse閉じたサブパスの内部を塗りつぶす
Fill Color塗り色Color白 (1,1,1,1)塗り色(入力ポート未接続時に使用)

描画アルゴリズム

thickness = 1(ピクセルパーフェクトモード)

  1. 各セグメントを rasterize_bezier_segment() でサンプリング → ピクセル座標列に変換

- .5 境界上の端点は round() 突き出し防止のためスキップ

  1. 全セグメントの座標を統合(接合点の重複除去)
  2. 接合点角ピクセル復元: .5,.5 アンカーで対角ギャップが検出された場合、角ピクセルを挿入して正方形等の角欠けを防止(三角形等の非直角頂点では挿入しない)
  3. 閉パス: 終端→始点をブレゼンハムで接続
  4. ensure_8connected() で8方向接続を保証
  5. pixel_perfect が有効なら PP 補正で L字ダブリを除去
  6. 閉パス: ラップアラウンド L字補正
  7. 結果のピクセル座標を画像に描画

thickness ≥ 2

各セグメントを十分な解像度でサンプリングし、隣接サンプル間を太い Bresenham ライン(円形ブラシ)で描画。

fill_closed = true

閉じサブパスの内部をスキャンラインで塗りつぶし(ストロークの下に塗る)。thickness=1 時は PP 補正済み座標列をポリゴンとして使用。

使用例

基本的なパス描画

[BezierPath] → path → [PathStroke] → output → [Preview]

色付きパス

[ColorRGB] → color → [PathStroke] → output → [Blend] → [Preview]
                          ↑
                     [BezierPath]

ピクセル座標列の下流処理

[BezierPath] → path → [PathStroke] → pixel_line → [PixelLineNode]

注意事項

  • pixel_perfect 補正は thickness = 1 のときのみ 適用されます
  • パス未接続時は空の透明画像を出力します
  • is_generator: true のため、キャンバスサイズバインドの対象になります
  • .5,.5 アンカーポイントの角ピクセル復元は rasterize_subpath 内部で自動的に処理されます

💡 ヒント

  • `pixel_perfect` 補正は **thickness = 1 のときのみ** 適用されます
  • パス未接続時は空の透明画像を出力します
  • `is_generator: true` のため、キャンバスサイズバインドの対象になります
  • `.5,.5` アンカーポイントの角ピクセル復元は `rasterize_subpath` 内部で自動的に処理されます

関連ノード

bezierpath
pathstroke
preview
colorrgb
blend
pixellinenode
Path Stroke (パスストローク) — PixPipeline ノード解説