概要
- バージョン: 1
- ジェネレーター: はい(
is_generator: true— キャンバスサイズ自動バインド対象)
描画アルゴリズム
thickness = 1(ピクセルパーフェクトモード)
- 各セグメントを
rasterize_bezier_segment()でサンプリング → ピクセル座標列に変換.5境界上の端点はround()突き出し防止のためスキップ
- 全セグメントの座標を統合(接合点の重複除去)
- 接合点角ピクセル復元:
.5,.5アンカーで対角ギャップが検出された場合、角ピクセルを挿入して正方形等の角欠けを防止(三角形等の非直角頂点では挿入しない) - 閉パス: 終端→始点をブレゼンハムで接続
ensure_8connected()で8方向接続を保証pixel_perfectが有効なら PP 補正で L字ダブリを除去- 閉パス: ラップアラウンド L字補正
- 結果のピクセル座標を画像に描画
thickness ≥ 2
各セグメントを十分な解像度でサンプリングし、隣接サンプル間を太い Bresenham ライン(円形ブラシ)で描画。
fill_closed = true
閉じサブパスの内部をスキャンラインで塗りつぶし(ストロークの下に塗る)。thickness=1 時は PP 補正済み座標列をポリゴンとして使用。
使用例
基本的なパス描画
[BezierPath] → path → [PathStroke] → output → [Preview]
色付きパス
[ColorRGB] → color → [PathStroke] → output → [Blend] → [Preview]
↑
[BezierPath]
multipath の 1 本だけ描く
[MultiPath] → path → [PathStroke(sub_path_scope:Single, sub_path_index:1)] → [Preview]
ピクセル座標列の下流処理
[BezierPath] → path → [PathStroke] → pixel_line → [PixelLineNode]
サーフェースとして使う
[BezierPath] → path → [PathStroke] → surface → [Surface Light Preview]
fill_closed をオンにすると、線だけでなく閉じた形の中も同じサーフェースとして扱えます。
注意事項
pixel_perfect補正は thickness = 1 のときのみ 適用されます- パス未接続時は空の透明画像を出力します
- パス未接続時も空画像と空サーフェースを返します
- サーフェース関連のパラメータはインスペクターの「サーフェース関連」に折りたたまれます
is_generator: trueのため、キャンバスサイズバインドの対象になります.5,.5アンカーポイントの角ピクセル復元はrasterize_subpath内部で自動的に処理されますsub_path_scope = 個別の時だけsub_path_indexが表示されますsub_path_indexの上限は、入力パスのサブパス数に合わせて UI が更新します