schlegel.berlin
New member
Liebe Leute,
nun stehe ich grad wieder mal völlig auf dem Schlauch. Kann sein, dass es zu schnell heiß wurde und meine Synapsen durch die Hitze eingeschläfert wurden..
Wie auch immer, ich finde die Lösung nicht.
Aufgabenstellung:
ich möchte die WEIßEN Bildanteile eines PNG durch eine Farbe ersetzen und alle andere Bildanteile transparent machen.
Was ich bis jetzt schaffte, ist, die SCHWARZEN Bildanteile (siehe sampl.png, siehe Anhang) durch eine Farbe zu ersetzen, den Rest bekomme ich aber nicht transparent gemacht.
Was ich erreichen möchte ist. die WEIßEN Bildanteile von sample_2.png (siehe Anhang) mit einer Frabe zu erstezen und den Hintergrund (ist im Beispiel grün) tranparent machen.
Hier mal das, was ich habe:
Wahrscheinlich ist die Lösung wieder eher simpel und ich bin wieder mal nur zu blöd, sie zu finden
Könnt ihr mir helfen?
LG, Karin
NACHTRAG
Ist der Lösungsansatz eventuell der, zunächst einen bestimmten Farbbereich transparent (z.B. das Grün in sample.2.png) zu machen (mit imagecolorallocatealpha und imagecolortransparent), um dann anschließend die weißen Bildteile des "transparenten" PNG einzufärben?
nun stehe ich grad wieder mal völlig auf dem Schlauch. Kann sein, dass es zu schnell heiß wurde und meine Synapsen durch die Hitze eingeschläfert wurden..
Wie auch immer, ich finde die Lösung nicht.
Aufgabenstellung:
ich möchte die WEIßEN Bildanteile eines PNG durch eine Farbe ersetzen und alle andere Bildanteile transparent machen.
Was ich bis jetzt schaffte, ist, die SCHWARZEN Bildanteile (siehe sampl.png, siehe Anhang) durch eine Farbe zu ersetzen, den Rest bekomme ich aber nicht transparent gemacht.
Was ich erreichen möchte ist. die WEIßEN Bildanteile von sample_2.png (siehe Anhang) mit einer Frabe zu erstezen und den Hintergrund (ist im Beispiel grün) tranparent machen.
Hier mal das, was ich habe:
PHP:
header('Content-Type: image/png');
$neue_farbe = "#FF0000";
$neue_farbe=trim(preg_replace("/#/","",$neue_farbe));
$farbkanal=array(hexdec(substr($neue_farbe,0,2)),hexdec(substr($neue_farbe,2,2)),hexdec(substr($neue_farbe,4,2)));
$r = $farbkanal[0];
$g = $farbkanal[1];
$b = $farbkanal[2];
$bild = imagecreatefrompng("sample.png");
imagefilter($bild, IMG_FILTER_COLORIZE, $r, $g, $b);
imagepng($bild);
imagedestroy($bild);
Wahrscheinlich ist die Lösung wieder eher simpel und ich bin wieder mal nur zu blöd, sie zu finden
Könnt ihr mir helfen?
LG, Karin
NACHTRAG
Ist der Lösungsansatz eventuell der, zunächst einen bestimmten Farbbereich transparent (z.B. das Grün in sample.2.png) zu machen (mit imagecolorallocatealpha und imagecolortransparent), um dann anschließend die weißen Bildteile des "transparenten" PNG einzufärben?
Anhänge
Zuletzt bearbeitet: