Imagick:: setimage不透明度()

文章描述:

在使用imagick报错Fatal error: Uncaught Error: Call to undefined method Imagick::setImageOpacity() in怎么解决?

代码:

//打开一张图片
$im = new Imagick('images/sdmk.png');

//新建图层,使用颜色`#000`填充后,不透明度设为`50%`
$layer = new Imagick();

$layer->newImage($im->getImageWidth(), $im->getImageHeight(), '#000');

//$layer->setImageOpacity (0.5);
$layer->setImageAlpha(0.5);

//叠加到原图上,图层混合模式为`柔光`
$im->compositeImage($layer, Imagick::COMPOSITE_SOFTLIGHT, 0, 0);

//新建图层,使用颜色`#000699`填充后,不透明设置为`48%`
$layer = new Imagick();
$layer->newImage($im->getImageWidth(), $im->getImageHeight(), '#000699');

//$layer->setImageOpacity (0.48);
$layer->setImageAlpha(0.48);

//叠加到原图上,图层混合模式为`排除`
$im->compositeImage($layer, Imagick::COMPOSITE_EXCLUSION, 0, 0);

//完成!
$im->writeImage('000.jpg');

在运行的时候报错“Fatal error: Uncaught Error: Call to undefined method Imagick::setImageOpacity() in”
翻译后的意思是“调用未定义的方法Imagick:: setimage不透明度()”

需要把把setImageOpacity 换成 setImageAlpha

发布时间:2021/07/15

发表评论