Einzelnen Beitrag anzeigen

Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#1

[PHP] Transparente Bilder zusammenführen

  Alt 16. Mär 2010, 19:24
Hallo,

gleich vorweg: PHP ist seltsam. *g*

Ich skaliere ein alphatransparentes PNG herunter, grob so:

Code:
$im = imagecreatefrompng(...);
imagesavealpha($im, true);

$im_thumb = imagecreatetruecolor(...);
imagealphablending($im_thumb, false); // fragt nicht wieso, aber "false" ist hier korrekt
imagesavealpha($im_thumb, true);

$transp = imagecolorallocatealpha($im_thumb, ...);
imagefilledrectangle($im_thumb, ..., $transp);

imagecopyresampled($im_thumb, $im, ...);
Das funktioniert soweit.

Nun zeichne ich ein halbtransparentes Rechteck darüber:

Code:
$rect_color = imagecolorallocatealpha($im_thumb, ...);
imagefilledrectangle($im_thumb, ..., $rect_color);
Das geht auch.

Nun möchte ich aber über dem Rechteck noch ein alphatransparentes Icon haben und da kann ich versuchen, was ich will, es klappt nicht.
Das soeben gezeichnete Rechteck wird im Bereich des Icons mit vollständiger transparenz "übermalt". D.h. dort, wo das Icon transparent ist, kann ich durch das Bild auf den Hintergrund schauen.

Ansätze waren u.a.

- der wie oben: imagecreatefrompng() => imagecopy()
- imagecreatetruecolor() => imagecreatefrompng() => imagecopy() auf das mit "...truecolor()" erstellte PNG => imagecopy() auf $im_thumb

Nichts geht.

Wie geht das bzw. kann PHP bzw. GD das überhaupt?

Grüße, Matze
  Mit Zitat antworten Zitat