getImageData()性能

时间:2015-02-21 00:45:24

标签: javascript html5-canvas

我只需要在画布上获得单个像素的状态,但我注意到它的速度非常慢。

这是我的JS

var state = ctx.getImageData(x,y,1,1).data;
state = 'rgba(' + state[0] + ',' + state[1] + ',' + state[2] + ',' + state[3] + ')';
return state;

是否有替代方法可以在画布上获取单个像素的状态?

1 个答案:

答案 0 :(得分:1)

那么这个神奇的像素是如何变化的呢?

由于您正在进行编程,因此您应该能够注意到会改变该像素的活动。

例如,如果您(或用户)正在通过该像素移动某些内容来更改该像素,那么您将能够预测像素上的任何对象的路径(或者注意用户正在移动该像素上的某些内容)

无论如何,如果.getImageData拖累你的表现,我的建议是设置.requestAnimationFrame循环并以更大的间隔检查该像素的变化。如果你每1/60秒检查一次,也许每隔5/60秒检查一次。