Warum verursacht dieses transparente PNG Grenzen, wenn es mit GD kombiniert wird?

Ich versuche, mit PHP ein Bild aus einem anderen Bild zu erstellen. Hier ist mein Code:

<?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);
?>

Also lade ich dieses Bild in$source_under

und Kopieren über ein transparentes leeres "Leinwand" -Bild. Hier ist das Ergebnis dieser Operation:

Wie zu sehen ist, gibt es eine Art schwarzen Rand um das gesamte Ausgangsbild. Ich denke, das liegt an der Tatsache, dass das "Leinwand" -Bild anfänglich nur schwarz ist. Es stimmt also etwas nicht mit der Transparenz und dem Anti-Aliasing des Bildes.

Dies ist nicht das erste Mal, dass ich ein ähnliches Problem habe, aber das letzte Mal war das Quellbild die Ursache. Diesmal zeigt das Öffnen in Photoshop keine potenziellen Probleme.

Weiß jemand, wie man das behebt?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage