Как заменить определенный цвет картинки с помощью php Imagick?
Подскажите как заменить определенный цвет на другой во всей картинке?
Есть Imagick::clutImage, но я не понял как его испольовать
Хочется что-то вроде $im->changeColor('#FFFFFF','#000000');
Ответы (1 шт):
Автор решения: frozencoast
→ Ссылка
Используйте Imagick::opaquePaintImage
$img = new Imagick('source.jpg');
$target = 'rgb(255,255,255)';
$fill = 'black';
$fuzz = 0.05 * $img->getQuantumRange()['quantumRangeLong'];
$img->opaquePaintImage($target, $fill, $fuzz, false, Imagick::CHANNEL_DEFAULT);
$img->setImageFormat("jpeg");
file_put_contents("destination.jpg", $img);
Более подробно здесь - https://www.php.net/manual/ru/imagick.opaquepaintimage.php