2017-03-11 7 views
2

の透明度を取り消し:clearRect()は、私はそうのように互いの上に重ねて2枚のキャンバス持っキャンバス

<canvas id="myCanvas" style="z-index: 1; 
 
position:absolute; 
 
left:0px; 
 
top:0px; 
 
" width="720" height="480"></canvas> 
 

 
<canvas id="trailCanvas" style="z-index: 0; 
 
position:absolute; 
 
left:0px; 
 
top:0px; 
 
" width="720" height="480"></canvas>

をしかし、問題は、私が上にclearRect()を呼び出すときそのようなほとんどのキャンバス、:

ctx.clearRect(0, 0, canvas.width, canvas.height);

それは私の一番上のキャンバスを見せるグレーはもう透明ではありません! clearRect()は、キャンバス全体を透明かつ透明にすることになっていますか?どうしたの?助けを本当に感謝しますか?

編集:私のミスを実現は、CSSにあった:

キャンバスの背景灰色の代わりに透明になり

<style> 
 
    \t * { padding: 0; margin: 0; } 
 
    \t canvas { background: #eee; display: block; margin: 0 auto; } 
 
    </style>

+0

jsfiddleまたはjsbinを含めてください。 – towc

+0

はい、clearRectはすべての透明度を削除します。問題は何か他のものでなければならない。この場合、現在のコードを最初のインスタンスに持っていくことはできますか? – towc

+0

jsfiddle.net/bh34r1av/これは、clearRectが実際に透明度をリセットすることを示しています。 – towc

答えて

0

this fiddleで示されるように、clearRectはアルファを正常にリセットします。

問題が発生する可能性は他にもあります。最も一般的なのは、CSSのキャンバスにbackground-colorを追加することです。これを確認するには、devtoolsでキャンバスを調べ、背景のプロパティを確認してください。

関連する問題