Ответ 1
setImageOpacity unfortunately affects the whole image, so to leave the transparent areas transparent replace $im->setImageOpacity(0.3); with :
$im->evaluateImage(Imagick::EVALUATE_MULTIPLY, 0.3, Imagick::CHANNEL_ALPHA);
Вот вещь.
Я имею в виду простой фрагмент в PHP относительно прозрачного изображения:
$im = new Imagick('some-transparent-image.png');
$im->setImageOpacity(0.3);
$im->writeImage('output.png');
Выходной файл должен быть прозрачным с более низкой прозрачностью, не так ли?
Ну, выход представляет собой изображение с черным цветом, где он должен быть прозрачным, а непрозрачность изображения точно такая же.
Это связано с настройкой или я что-то не хватает?
Заранее благодарю
setImageOpacity unfortunately affects the whole image, so to leave the transparent areas transparent replace $im->setImageOpacity(0.3); with :
$im->evaluateImage(Imagick::EVALUATE_MULTIPLY, 0.3, Imagick::CHANNEL_ALPHA);