Я использую резкий пакет npm для изменения размера изображений, и он возвращает массив Buffer, который я считаю пикселями.Мне нужно получить цвет каждого пикселя.Я пытался перебрать массив с 3 индексами на цикл, чтобы получить значения rgb, но, похоже, это не работает, так как я получаю цвета, которых, как я знаю, нет на изображении.
Например, он говорит, что логотип твиттера почти на 30% черный.Я не могу найти ничего в четких документах, которые говорят, из чего сделан буфер, который он возвращает, хотя он говорит, что возвращение будет в той же форме, в которой оно было до преобразования.Есть ли более общее понимание того, что возвращают буферы, с которыми кто-то может мне помочь?
Мой код на данный момент:
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
.