Bildebenen vereinen mit Alphatransparenz

Hallo zusammen,
ich habe mich nun wieder einmal mit ein bisschen Bilderstellung in PHP beschäftigt, denn ich habe folgendes vor:

  1. Ich möchte einen einfarbigen Hintergrund erstellen.
  2. Darüber möchte ich ein PNG-Bild legen, welches transparente und halbtransparente Bereiche enthält.

Also habe ich mich ein wenig umgeschaut, die passenden Funktionen unter PHP gesucht und bin zu folgendem Ergebnis gekommen:
[PHP]<?php
error_reporting(E_ALL|E_STRICT);
ini_set(‚display_errors‘, 1);

function imagecolorize ($img_orig, $img_new, $opacity, $pfad, $r=0, $g=0, $b=0) {
// Kopie des Originalbildes erstellen
$img = imagecreatefrompng($pfad.$img_orig);

// Bildbreite und -höhe ermitteln
$img_width = imagesx($img);
$img_height = imagesy($img);

// Layer anlegen
$layer = imagecreate($img_width, $img_height);

// Alphatransparenz behalten
imagealphablending($img, true);
imagealphablending($layer, true);

// Farbe zuordnen
$color = imagecolorallocate($layer, $r, $g, $b);

// Layer mit der Farbe fuellen
$fill = imagefill($layer, 0, 0, $color);

// Layer und Bildkopie "mergen"
$merge = imagecopymerge($layer, $img, 0, 0, 0, 0, $img_width, $img_height, $opacity);

// Bild abspeichern
imagepng($img, $pfad.$img_new);

// Layer vernichten
imagedestroy($layer);

// Originalbild vernichten
imagedestroy($img);

}

// Parameter
$img_orig = „feld3.png“; // Name Originalbild
$img_new = „testneu.png“; // Name neues (gefaerbtes) Bild
$opacity = 50; // Deckkraft (Wert zwischen 0 (transparent) und 100 (deckend)
$pfad = „/var/www/sckunst/img/“; // Physikalischer Pfad zum Bilderordner (mit $_SERVER[‚DOCUMENT_ROOT‘] zu ermitteln, dann noch Verzeichnis dranhaengen)
$r = 255; // rot
$g = 50; // grün
$b = 80; // blau

imagecolorize($img_orig, $img_new, $opacity, $pfad, $r, $g, $b);
?>[/PHP]
Ist aber blöd, denn das darüber gelegte Bild ist nicht transparent, sondern wird durch die im PNG hinterlegte Ersatzfarbe ersetzt. Wo ist mein Fehler?

Viele Grüße
Körnerbrötchen

Hmm… Mist, scheinen sich nicht so viele Leute damit auszukennen, hm?