我正在使用ImageMagick 7以及PHP 5.6.30和PECL Imagick 3.4.3。
使用下面的代码,我试图在JPEG图像上叠加50%透明PNG。结果是PNG图像叠加但没有透明度。
有什么想法吗?
<?php
$im = new Imagick('base.jpg');
$wm = new Imagick('watermark.png');
$wm->setImageAlpha(0.5);
$im->compositeImage($wm, Imagick::COMPOSITE_COPYOPACITY, 0, 0);
$im->writeImage('final.jpg');
?>
答案 0 :(得分:1)
这似乎对我有用:
<?php
$im = new Imagick('base.jpg');
$wm = new Imagick();
$wm->setBackgroundColor(new ImagickPixel('transparent'));
$wm->readImage('watermark.png');
$wm->setImageFormat('png32');
$wm->setImageAlpha(0.5);
$im->compositeImage($wm, Imagick::COMPOSITE_OVER, 0, 0);
$im->writeImage('final.jpg');
?>