2012-09-05 50 views
1

是否可以使用node.js从本地图像文件获取RGB值数组?我试图编写一个脚本,它将文件路径作为参数,并返回一个表示像素数据的数组。使用node.js获取图像文件中的像素数组

function getPixelArray(filePath){ 
    //return an array of RGB values that correspond to the image 
} 
+0

可能的重复:http://stackoverflow.com/questions/11247790/reading-a-pn g-image-in-node-js –

回答

4

如果您的图像是PNG格式,看看https://github.com/devongovett/png.js/

+0

它是PNG格式。谢谢! –

+0

也可以将像素数据保存为文件(使用其他node.js库)?我想修改像素数据的数组,然后再次将其保存为png图像。 –

+0

另外,有没有什么办法可以使用png-js来获取图像的宽度和高度? –

3

你可以尝试https://www.npmjs.com/package/jimp 这可能是有用的:

Jimp.read("http://www.example.com/path/to/lenna.jpg", function (err, image) { 
    image.getPixelColor(x, y); // returns the colour of that pixel e.g. 0xFFFFFFFF 
}); 

为了得到RGB,您可以使用:

Jimp.intToRGBA(hex); // e.g. converts 0xFFFFFFFF to {r: 255, g: 255, b: 255, a:255}