我不能使用 flatternImages() 函数,因为它已被弃用。
我必须使用
$im->setImageAlphaChannel(\Imagick::ALPHACHANNEL_REMOVE);
$im->mergeImageLayers(\Imagick::LAYERMETHOD_FLATTEN);
Run Code Online (Sandbox Code Playgroud)
但是 ALPHACHANNEL_REMOVE 常量是未定义的。
我该如何解决这个问题?
PS 我尝试使用 11 代替 \Imagick::ALPHACHANNEL_REMOVE 并得到错误:
“无法设置图像 Alpha 通道”
根据php.net上的这个答案,您必须使用3.2.0b2之前的 ImageMagick 版本。
此时,您可以升级到最新版本的库或使用分配给常量的值Imagick::ALPHACHANNEL_REMOVE(即11):
$im->setImageBackgroundColor('white');
$im->setImageAlphaChannel(11); // Imagick::ALPHACHANNEL_REMOVE
$im->mergeImageLayers(Imagick::LAYERMETHOD_FLATTEN);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3597 次 |
| 最近记录: |