Я пытаюсь рассчитать, какой процент пикселей имеет прозрачность в определенном изображении. Для этого я пытаюсь определить, имеет ли пиксель прозрачность (используя Imagick на PHP). Я знаю, что в основном есть «getPixel» и «getColor», которые возвращают массив rgba, но я получаю различные значения для «a» для jpg и непрозрачных изображений pngs ... Я пробовал с и без нормализации ,Обнаружение прозрачности пикселей с помощью Imagick
Например, для этого изображения я получаю альфа-значения 0, 1, 0,1, 0,9 и т. Д. Для различных пикселей .
Это код, я использую:
$imageIterator = $image->getPixelIterator();
foreach ($imageIterator as $row => $pixels) {
foreach ($pixels as $column => $pixel) {
$color = $pixel->getColor(true);
echo $color['a'] . PHP_EOL;
...
Что я делаю неправильно? Есть ли другой способ получить эту информацию?
Поделитесь своим кодом :) –
Спасибо - я добавил. – yakobom
Это изображение не прозрачно. – Danack