PHP Imagick setImageOpacity разрушает прозрачность и ничего не делает

вот в чем дело.

У меня есть простой фрагмент в PHP, как это касается прозрачного изображения:

$im = new Imagick('some-transparent-image.png');
$im->setImageOpacity(0.3);
$im->writeImage('output.png');

вывод файла должен быть прозрачным изображением с меньшей непрозрачностью, верно?

ну, выход-это изображение с черным цветом, где он должен был быть прозрачным, и непрозрачность изображения точно такая же.

это связано с конфигурацией или я что-то пропустила?

спасибо заранее

1 ответов


setImageOpacity к сожалению влияет на все изображение, поэтому, чтобы оставить прозрачные области прозрачными, замените $im - >setImageOpacity( 0.3); с :

$im - >evaluateImage(Imagick:: EVALUATE_MULTIPLY, 0.3, Imagick:: CHANNEL_ALPHA);