HTML5 Canvas ImageData不正确的rgb值

时间:2012-06-10 20:19:22

标签: javascript html html5 canvas

我正在为绘图应用程序使用油漆桶工具。

我使用context.getImageData找出画布中所有像素的颜色值。

但是,默认情况下,即使画布默认为白色,默认情况下所有rgba值都是0。现在我的油漆桶工具不适用于黑色轮廓的形状,因为黑色具有rgb 0,0,0,并且默认的画布图像数据也是如此,即使画布是白色的。

所以我的问题是我是否可以更改默认图像数据,以便它反映出画布'实际默认颜色(白色,或255,255,255),或如何快速将画布清除为该颜色。我认为可行但效率极低的解决方案是,在清除画布时,将每个像素的值设置为255.但是,由于画布的大小,这会导致执行时滞后几秒钟。 / p>

我还有其他选择吗?感谢。

1 个答案:

答案 0 :(得分:4)

空白画布初始化为rgba(0,0,0,0)(即透明)

如果您希望将所有内容初始化为白色,请执行以下操作。

ctx.fillStyle = '#FFFFFF'; // or 'rgba(255,255,255,1)'
ctx.fillRect(0,0,canvas.width, canvas.height);

spec中提及:

  

初始化画布时,必须将其位图清除为透明黑色。