我正在创建一个非常类似于Paint的应用程序,它有一个绘制线条的按钮,一个插入矩形,椭圆等等。这个应用程序还有一个桶按钮,如果我点击它,它应该绘制已插入画布的矩形/椭圆内的区域。
我有办法做到这一点吗?
答案 0 :(得分:0)
您需要执行洪水填充。
HTML5画布不提供开箱即用的功能,因此您必须自己动手。
var imagedata = context.getImageData(0, 0, canvas.width, canvas.height)
获取一个ImageData对象,该对象代表画布的原始像素数据。imagedata.data
中。它是一维数组,其中每个像素由四个值表示。要获取/设置特定像素的颜色值,请使用imagedata.data[x + y * imagedata.width + offset]
,其中偏移为0,1,2或3,用于红色,绿色,蓝色或alpha。context.putImageData(imagedata, 0, 0)
将修改过的imagedata结构写回画布。