PHP:Imagick:合并透明图像

时间:2015-09-13 19:18:34

标签: php imagemagick imagick

我想将透明PNG合并到另一个图像中,但PNG的边框不会更改为透明。

C:\Users\Parsa Gachkar\.gradle

enter image description here

1 个答案:

答案 0 :(得分:3)

您只需要在原始JPEG图像上将背景设置为透明。

<?
$s1=    new Imagick('img.jpg');
$s2=    new Imagick('img2.jpg');
$s2->setImageFormat ('png');
$s2->setImageBackgroundColor("transparent"); // <= Here
$s2->vignetteImage(20, 20, 40, - 20); 
$s2->setImageVirtualPixelMethod(Imagick::VIRTUALPIXELMETHOD_TRANSPARENT);
$s1->compositeImage($s2, Imagick::COMPOSITE_DEFAULT,120,120, Imagick::CHANNEL_ALPHA);

如果仍有问题,可能需要确保启用PNG的Alpha通道。

$s2->setImageMatte(TRUE);