" Imagick :: flattenImages方法已弃用,应避免使用它"

时间:2017-01-11 08:21:53

标签: php image imagick

我不能使用flatternImages()函数,因为它已被弃用。

我必须使用

$im->setImageAlphaChannel(\Imagick::ALPHACHANNEL_REMOVE);
$im->mergeImageLayers(\Imagick::LAYERMETHOD_FLATTEN);

但ALPHACHANNEL_REMOVE常量未定义。

我该如何解决这个问题?

P.S。 我尝试使用11而不是\ Imagick :: ALPHACHANNEL_REMOVE并得到错误:

  

"无法设置图像Alpha通道"

1 个答案:

答案 0 :(得分:2)

根据this answer on php.net,您必须使用3.2.0b2之前的ImageMagick版本。

此时,您可以升级到最新版本的库,也可以使用分配给常量11的值($im->setImageBackgroundColor('white'); $im->setImageAlphaChannel(11); // Imagick::ALPHACHANNEL_REMOVE $im->mergeImageLayers(Imagick::LAYERMETHOD_FLATTEN); ):

{{1}}