web-dev-qa-db-ja.com

透明/不透明の間隔でキャンバスfillStyle

この小さなコードは、間隔を置いて古いキャンバスデータをクリアします。

// start interval
ctx.save();
    ctx.fillStyle = "rgba(0, 0, 0, 0.2)";
    ctx.fillRect(0, 0, ctx.width, ctx.height);
ctx.restore();
//some draw code for new graph
...
//end interval

黒を塗りつぶしの色(rgba(0、0、0、.2))として設定したため、作業領域が黒になりましたが、黒ではなく透明な背景が必要です。

GlobalAlphaとimagePutDataを使用しようとしましたが、失敗しました。

どうすればこれを行うことができますか?

15
user951114

これで問題は解決すると思います

ctx.fillStyle = "rgba(255, 255, 255, 0.5)";
6

rgba(0,0,0,.2)fillStyleとfillRect()を使用すると、chromeとfirefoxの両方で機能します-半透明の黒い塗りつぶしをペイントします。チェックして、ある種の完全に不透明なペイントを引き起こしている他のことをしていません。

6
broofa

ctx.widthの代わりにctx.canvas.widthを試してください

3
Soyoes