合并会在背景中引起黑色伪影的图像

时间:2018-09-25 15:06:57

标签: php gd

对于php来说是新手,我试图使用GD将两个图像合并在一起。

我尝试这样做,但是这导致合并的图像具有怪异的黑色背景。

有人知道我要去哪里吗?

    <?php
        $image_1 = imagecreatefrompng('image.png');
        $overlay = imagecreatefrompng('image2.png');
        $size = getimagesize('image2.png');

        imagecopy($image_1, $overlay, 0, 0, 0, 0, $size[0], $size[1]);
        imagepng($image_1, "mergedImage.png");
    ?>
    <img src="image.png"/>
    <img src="image2.png"/>
    <img src="mergedImage.png">

这是我得到的输出。 enter image description here

源图像:

enter image description here enter image description here

1 个答案:

答案 0 :(得分:1)

在创建目标图像后立即告知GD保留Alpha通道信息应该可以解决此问题:

<?php
$image_1 = imagecreatefrompng('image.png');
imagesavealpha($image_1, true);
$overlay = ...

目前,您最终获得了image2.png的副本,但我想您想获得不同的结果:

enter image description here