2

キャンバスタグに現在描画されているパスのピクセルデータを取得する方法はあるのでしょうか。

正方形や線などの単純な形状を描く場合は、自分でピクセルデータを計算できますが、楕円や単純な円などのより複雑な形状では、物事が煩雑になります。

私がこれを求めている理由は、キャンバスにパスを追加するときに、キャンバスピクセルデータをサーバーに送信することを含むWebアプリケーションで作業しているためです。サーバーは、キャンバス全体の独自のコピーを保持する必要があります。変更ごとにキャンバスイメージ全体を送信するのではなく、効率上の理由からデルタのみを送信します...

ありがとう。

4

1 に答える 1

2

ステップ1:元のサイズと同じサイズの2番目のキャンバスへのパスを描画します。これを「パスキャンバス」と呼びましょう。

手順2:パスキャンバスのglobalCompositeOperationを「destination-in」に設定します。

ステップ3:パスキャンバスに元のキャンバスを描画します

ステップ4:パスキャンバスのすべてのピクセルをループし、透明でないピクセルをサーバーに送信する形式に関係なく保存します。

于 2012-09-01T22:49:55.487 に答える