David Christmann: PNG24-Bilder mit Alphakanälen zusammenfügen

Hallo,

Vielleicht hatte ja schonmal jemand das gleiche Problem:

2 24-bit PNG-Bilder mit Aplhakanälen sollen zusammengefügt werden. Beide beinhalten ein Objekt mit einem 50%igen Schatten.

Folgender Code:

<?php
// Bildanfang

header ("Content-type: image/png");
   $im = @ImageCreateFromPNG ("test1.png")
     or die("Fehler bei der Bildinitialisierung1");

$im2 = @ImageCreateFromPNG ("test2.png")
     or die("Fehler bei der Bildinitialisierung2");

imagecopy($im, $im2, 110,12,0,0, 1000, 1000);

imagesavealpha($im, TRUE);

// Bildende

imagepng($im);
  imagedestroy($im);
?>

Das Zusammenfügen klappt auch ganz gut. Allerdings scheint die gd-library etwas fehlerhaft zu sein. Auf dem Endbild sieht man in der ober Ecken des unteren Objektes einen fehlerhaften Schatten.
Ist dieser Schatten ein Fehler von gd oder habe ich etwas falsch gemacht?

Und wie kann man dieses png-Bild mit php als jpeg-Bild ausgeben? Und zwar so, dass die Alphakanäle richtig umgerechnet werden?

Schöne Grüße David

  1. Also, falls doch irgendjemand mal das gleiche Problem haben sollte, die Lösung ist ganz einfach:

    Einfach ein neues Bild mit ImageCreate() erzeugen und die png-Bilder dann nach und nach darauf einbinden.