【发布时间】:2021-06-15 13:58:24
【问题描述】:
在 ImageMagick v6 上,我使用以下代码创建带有剪贴路径的透明图像:
try {
$im = new Imagick($image);
$tmpOut = $im->identifyImage(TRUE);
if(isset($tmpOut["rawOutput"]) AND strpos($tmpOut["rawOutput"], "Clipping path:") !== FALSE) {
$im->setImageAlphaChannel(Imagick::ALPHACHANNEL_TRANSPARENT);
$im->clipImage();
$im->setImageAlphaChannel(Imagick::ALPHACHANNEL_OPAQUE);
}
$im->writeImage($pathSave . $filename);
$im->destroy();
} catch (ImagickException $e) {
var_dump($e);
}
从版本 7 开始出现以下错误:
Undefined class constant 'ALPHACHANNEL_OPAQUE'
我已经搜索过了,等价的应该是:
Imagick::ALPHACHANNEL_OFF
但是当我使用它时,背景是白色的,不像以前的 ImageMagick 6 版那样透明。
也许你们中的一些人遇到了这种情况并且知道解决这个问题的方法。
【问题讨论】:
标签: php imagemagick