画面に描画されずに新しいパスに変換されるようにパスをストロークできますか?もしそうなら、どのように?
1 に答える
4
キャンバスでは、(ほぼ)ストロークまたは塗りつぶされたすべての形状がパスです。キャンバスには「ストローク」の概念はありませんがstroke()
、パスを呼び出すという概念はあります。
あなたができることは、パスを作成し、それを埋めてから、まったく同じパスをストロークすることです。
ctx.beginPath();
ctx.moveTo(50,50);
ctx.lineTo(100,100);
ctx.lineTo(25,100);
ctx.closePath();
ctx.fillStyle = 'gold'
ctx.fill();
// The path is still there, lets stroke it
ctx.lineWidth = 4;
ctx.stroke();
実例:
ただし、新しいパスを開始すると、その古いパスは永久に失われることに注意してください。パスを保存または復元するための組み込みの方法はありません。パスを保存/復元するためのパスを追跡する場合は、すべて自分で説明する必要があります。
パスを編集することもできません。最後に追加することはできますが、(たとえば)SVGのように、パス内のポイントに戻って変更することはできません。代わりに、新しいポイントで最初から作り直さなければなりません。
于 2011-06-23T18:05:25.520 に答える