遅い→起動時

http://d.hatena.ne.jp/pmint/

プロトタイプ11のブラシが重いこと

d:id:pmint:20080331:p1の続き。


ペイントツール プロトタイプ11の描画が遅いのは画像を何度も重ねて貼り付けているから。
丸い画像の貼り付けで線を描こうとすると間隔を密にしないといけないので、1ピクセルあたり100回塗ることになったりする。


「「「入力された2点間」に描く線」の輪郭」を得ることができれば、その範囲に1度だけ画像を貼り付ければいい。
2点間だから方向は一方向だけ。回転するブラシにも応用できる。
ただ、計算で線の形を得ているので、ブラシ形状が限られてしまう。


始点は除外したい。線の続きを描く場合に二重に塗ることになるから。そこだけ濃くなってしまう。
終点を除外しても同じ効果になるけど、これだと描いているとき気持ち悪い。
1ストローク上の始点はマウスボタンを押した瞬間のイベントで描けばいい。


手順は…

  1. ストローク補正後の線を得る。
  2. 「「線上の点」に垂直に交わる直線」上にあり、ブラシの大きさぶん「線上の点」から離れた位置に「輪郭上の点」を描く。
  3. 「輪郭上の点」を十分に描く。
  4. 「輪郭上の点」を直線でつなぐ。
    隙間ができるのでつなぐ必要がある。ストローク補正後の線に合わせて描かれた輪郭なので、直線でつないでいい。
    が、この線も曲線でつなぐことも可能。
  5. 輪郭内をブラシパターンで塗りつぶす。


実装するならブラシの一種として。
「動作が軽快なブラシ」という形で。