Слияние изображения, вызывающего черный артефакт в фоновом режиме - PullRequest
0 голосов
/ 25 сентября 2018

Очень новичок в 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 hereenter image description here

1 Ответ

0 голосов
/ 25 сентября 2018

Указание GD сохранять информацию альфа-канала сразу после создания целевого изображения должно решить проблему:

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

В настоящий момент вы получите дубликат image2.png, но я предполагаю, что вы хотитедостичь другого результата:

enter image description here

...