Почему этот прозрачный PNG вызывает границы при комбинировании с использованием GD?

Я пытаюсь создать изображение из другого изображения с помощью PHP. Вот мой код:

<?php
    $width = 109;
    $height = 109;
    $image = imagecreatetruecolor($width, $height);
    $source_under = imagecreatefrompng('ecloid_under.png');
    $black = imagecolorallocate($image, 0x00, 0x00, 0x00);

    imagecolortransparent($image, $black);

    imagecopy($image, $source_under, 0, 0, 0, 0, $width, $height);

    header('Content-type: image/png');
    imagepng($image);
    imagedestroy($image);
?>

Поэтому я загружаю это изображение в$source_under

enter image description here

и копируем его на прозрачный бланк & quot; canvas & quot; образ. Вот результат этой операции:

enter image description here

Как видно, вокруг всего исходного изображения есть своего рода черная рамка. Я думаю, что это связано с тем фактом, что изначально «холст» изображение все черное. Так что с прозрачностью и сглаживанием изображения что-то не так.

Это не первый раз, когда у меня возникает похожая проблема, но в прошлый раз причиной было исходное изображение. На этот раз открытие его в Photoshop не показывает никаких потенциальных проблем с ним.

Кто-нибудь знает, как это исправить?

Ответы на вопрос(2)

Ваш ответ на вопрос