我使用的是Sharp NPM软件包来调整图像大小,它返回一个我认为是像素的Buffer数组。我需要获取每个像素的颜色。我曾尝试以每个循环3个索引的方式在数组上循环以获取rgb值,但这似乎不起作用,因为我得到的是我所知不在图像中的颜色。
例如,它说twitter徽标几乎是30%黑色。我在清晰的文档中找不到任何说明返回的Buffer组成的内容,尽管它说返回的格式与转换前的格式相同。对于有人可以帮助我的Buffer返回值是否有更一般的理解?
到目前为止,我的代码是:
sharp(image)
.resize(2500)
.toBuffer()
.then( new_image =>{
let index = 0;
let rgb_values = [];
while(index < new_image.length){
let point = {
red : new_image[index],
green : new_image[index + 1],
blue : new_image[index + 2],
};
rgb_values.push(
{
red : point.red,
green : point.green,
blue : point.blue
}
);
index = index +3;
}
return resolve(rgb_values);
} )
.catch(e=>{
console.log(e)
});
我不知道这是否有帮助,但这只是急剧返回new_image
的一小部分。