php - 构建 Canvas RGB 值的 2D 数组

标签 php javascript canvas multidimensional-array rgb

我正在尝试从 getImageData().data 方法的值数组中将 RGB 值的 2D 数组发送到 PHP:

for (var i=0;i<imgData.data.length;i+=4){

    // If you want to know the values of the pixel
    var r = imgData.data[i + 0];
    var g = imgData.data[i + 1];
    var b = imgData.data[i + 2];
    var a = imgData.data[i + 3];

    //[...] do what you want with these values
}

由此,我如何创建整个 Canvas 的 RGB 值的 2D 数组?

最佳答案

var rgb = [];
for (var i=0;i<imgData.data.length;i+=4){

    // If you want to know the values of the pixel
    var r = imgData.data[i + 0];
    var g = imgData.data[i + 1];
    var b = imgData.data[i + 2];
    var a = imgData.data[i + 3];

    var x = Math.floor((i/4) % imageData.width);  
    var y = Math.floor((i/4) / imageData.width);
    rgb[x] ? (rgb[x][y] = [r,b,g,a]) : (rgb[x] = [[r,b,g,a]]);
}

关于php - 构建 Canvas RGB 值的 2D 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12291992/

相关文章:

php - 分页显示数据

javascript - 滚动之后的侧边栏,但如果高于视口(viewport)则滚动自身

javascript - 如何在 Fabric.Text() 中创建 <ul> 或项目符号?

javascript - 边缘上的Vis.js动画

PHP preg_replace 非字母数字导致数据库插入失败

php - 从数据库中删除和插入

php - esc_url() 和 Wordpress 安全?

javascript - 段落内的 PHP Echo 不适用于所有记录

javascript - 如何在不在标题上显示 url 的情况下打印窗口

android - 用另一个图像覆盖 Canvas 图像android