Hallo zusammen,
ich möchte vorhandene Produktbilder im PNG-Format mit freigestelltem Hintergrund skalieren und dann mit einer vorgegebenen Hintergrundfarbe wieder abspeichern. Ich habe dazu aktuell folgenden Code:
Es wird ein Bilderzeugt, dass den grauen Hintergrund enthält, aber an der Stelle wo im Originalbild eine Transpsranz ist, wird diese auch in das neue Bild übernommen und damit der Hintergrund wieder unsichtbar gemacht.
21.png(der weiße Hintergrund sollte auch grau sein)
Ich habe auch schon versucht mit den Kombinationen von ImageAlphaBlending() und ImageSaveAlpha() zu spielen. Leider ohne Erfolg.
Hat jemand eine Idee wo der Fehler liegt?
ich möchte vorhandene Produktbilder im PNG-Format mit freigestelltem Hintergrund skalieren und dann mit einer vorgegebenen Hintergrundfarbe wieder abspeichern. Ich habe dazu aktuell folgenden Code:
PHP-Code:
//erzeuge leeres Bild mit Hintergrundfarbe
$im = @imagecreate(70, 70)
or die("Kann keinen neuen GD-Bild-Stream erzeugen");
$background_color = imagecolorallocate($im, 150, 150, 150);
imagepng($im, $uploadfile);
//Original laden
$source_img = imagecreatefrompng($sourcefile);
ImageAlphaBlending($source_img,true);
ImageSaveAlpha($source_img,true);
//Lade Hintergrundbild
$dest_img = imagecreatefrompng($uploadfile);
ImageAlphaBlending($dest_img,true);
ImageSaveAlpha($dest_img,true);
imagecopyresized($dest_img, $source_img, 0, 0, 0, 0, 50, 50, $intranet_width, $intranet_height);
imagepng($dest_img, $uploadfile);
21.png(der weiße Hintergrund sollte auch grau sein)
Ich habe auch schon versucht mit den Kombinationen von ImageAlphaBlending() und ImageSaveAlpha() zu spielen. Leider ohne Erfolg.
Hat jemand eine Idee wo der Fehler liegt?
Kommentar