10

事情就是这样。

我在 PHP 中有一个关于透明图像的简单片段,如下所示:

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

文件输出应该是不透明度较低的透明图像,对吧?

好吧,输出是一个黑色的图像,它应该是透明的,而图像的不透明度是完全相同的。

它与配置有关还是我错过了什么?

先感谢您

4

1 回答 1

33

不幸的是 setImageOpacity 会影响整个图像,所以要让透明区域保持透明,请替换以下内容:

$im->setImageOpacity(0.3); 

和 :

$im->evaluateImage(Imagick::EVALUATE_MULTIPLY, 0.3, Imagick::CHANNEL_ALPHA);
于 2010-08-30T18:09:54.203 回答