0

実験中のレイヤード キャンバス要素について質問があります。

2 つのキャンバス、1 つ (c1) の z-index 1 と 2 つ目の (c2) z-index 2 が重ねられている場合、c2 にテキストを書き込んでクリアする最良の方法は何ですか? これまでにいくつかの方法を試しましたが、完璧とは思えません。

  1. テキストを背景色で単純に上書きしようとすると、Photoshop で下手な仕事をしたかのように、テキストにわずかな輪郭が残ります。

  2. c2 キャンバスで背景色を指定して clearRect() を使用しようとすると、明らかに c2 キャンバスの背景が単色になり、c1 キャンバスの一部が見えなくなります。

  3. c1 キャンバスにテキストを描画して clearRext を使用しようとすると、スプライトが領域の背後に移動すると、スプライト領域が再描画される前に背景領域に設定されるため、ちらつきます。

ここで賢明なアプローチについて何か考えはありますか?

4

1 に答える 1

0

投稿しようとしていたのですが、clearRect() を実行するだけでしたが、それで問題が発生したことを思い出しました。何が起こっているのかをよりよく理解できるように、コードを投稿していただけますか?

コンテキストの clearRect 関数は、領域内のデータを 0 に設定します。そのため、どのように背景が塗りつぶされているのか混乱しています。

ctx2.clearRect(0,0,100,100);
// this should just clear the canvas2

これは私が言いたいことの jsfiddle です。

于 2013-01-08T04:12:17.393 に答える