我正在使用myscripts[i].init();
(wiki info)来移除画布不透明度并提高动画效果。不幸的是,之后,帆布元素获得白色背景。是否可以选择更改画布背景/颜色的默认颜色?
我尝试canvas.getContext('2d', {alpha: false});
来填充整个区域,但是(因为动画)我觉得这不是最好的解决方案:
drawImage()
我非常关心性能,所以只更改一次颜色会很有用。
有什么想法吗?
答案 0 :(得分:3)
没有。默认背景始终为黑色。
Canvas 2D API的CanvasRenderingContext2D.clearRect()方法 设置由起点(x,y)和定义的矩形中的所有像素 尺寸(宽度,高度)到透明黑色,擦除任何先前的 绘制内容。
不要清除画布,只需设置fillRect以填充所需的颜色。
var canvas = document.querySelector('#mycanvas'),
ctx = canvas.getContext('2d', {alpha: false});
function run() {
ctx.fillStyle = "#FF0000";
ctx.fillRect(0, 0, size.width, size.height);
draw();
update();
requestAnimationFrame(run);
}