JavaScript画布可以像位图一样进行操作,是否针对该用途进行了优化?

时间:2012-07-14 19:55:52

标签: javascript html5 canvas bitmap

JavaScript画布可以像标准位图一样操作(访问/修改像素并获得它的大小)吗?是否优化了这个用途,或者在需要时操作普通的2d像素数组并在画布上绘制会更快吗?

2 个答案:

答案 0 :(得分:3)

绝对是的!请看这里: https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Canvas_tutorial/Pixel_manipulation_with_canvas

至于你的第二个问题,根据像素文档,像素是一维数组。你需要自己做2 x 2的2个箍环。

取自I82Much之前的SO回答(对我而言是花花公子):

int row = i;
int col = j;
int offset = row * width + col;
color p = pixels[offset];

更多信息:how to loop over the pixels using 2D array?
在这里:http://www.processing.org/reference/pixels.html

答案 1 :(得分:0)

您可以使用getImageData()从画布上下文中获取像素数据数组。请记住,每个像素占据阵列中的4个空格(红色,绿色,蓝色和alpha)。然后,一旦您根据自己的喜好更改了数组,就可以使用putImageData()将数据放回去。