在遍历 HTML5 画布 getImageData 时获取 X 和 Y 像素坐标



我正在迭代从canvas中提取的一些图像数据,如下所示:

var imageData = this.context.getImageData(0, 0, this.el.width, this.el.height);
var data = imageData.data;
for (var i = data.length; i >= 0; i -= 4) {
    if (data[i + 3] > 0) {
        data[i] = this.colour.R;
        data[i + 1] = this.colour.G;
        data[i + 2] = this.colour.B;
    }
}

如何计算当前 X 和 Y 像素坐标?

更正和测试的代码版本:

var x = (i / 4) % this.el.width;
var y = Math.floor((i / 4) / this.el.width);

一个简单的算术序列:

将线性位置除以宽度。 那是你的Y坐标。 将该 Y 坐标乘以宽度,然后从线性位置减去该值。 结果是 X 坐标。

另请注意,您必须将线性位置除以 4,因为它是 RGBA。

最新更新