2015-09-15 87 views
3

我正在使用npm:get-pixels,它返回一个ndarray,我在理解如何正确工作这个数组时遇到了一些麻烦。Node.js:高效地访问ndarray中的值以便读取像素

假设像素是ndarray

console.log(pixels.get(800, 200, 0)); 
console.log(pixels.get(800, 200, 1)); 
console.log(pixels.get(800, 200, 2)); 

将打印像素在图像的坐标[800200]的RGB值。

我必须使用三个独立的.get()来实现这个吗?

节点Libray
get-pixels

回答

3

在端我用这个

function getPixel(x, y, pixels) { 
    var out = []; 
    var pointer = pixels.offset + (pixels.stride[0] * x) + (pixels.stride[1] * y); 

    for(var i=0; i<4; i++) { 
     out.push(pixels.data[pointer + (pixels.stride[2] * i)]); 
    } 

    return out; 
}