Guten Tag!
Ich erstelle mit PHP ein Bild. Darin integriere ich ein anderes Bild. Nun habe ich das Problem, dass wenn am Rand des zu integrierenden Bildes die Farbe schwarz vorkommt, dass dies ebenfalls in weiß umgewandelt wird. Dadurch sieht das Bild ausgerissen und nicht mehr schön aus.
Was mache ich falsch, dass dies geschieht?
Hmm das Problem scheint nicht an der Funktion zu liegen, sondern am Bild selbst.
Ich habe mir jetzt einmal dieses Bild heruntergeladen und im Windows in der Vorschau auf der linken Seite sind einige Teile von schwarzen Bereichen wie transparent!? Wie ist sowas bei jpg-Bildern möglich? Wenn ich das Bild jedoch normal auf einer Webseite einbinde, werden diese Bereiche schwarz dargestellt.
Hat jemand dieses Phänomen schonmal beobachtet? Ich dachte, jpg kennt keine Transparenz!?
Ich habe nun einmal versucht, den Hintergrund des zu integrierenden Bildes schwarz zu färben, denn dann werden keine weißen Flächen dargestellt, jedoch scheint das nicht zu funktionieren!?
Weiß keiner einen Rat, warum der Fehler auftritt?
Ich erstelle mit PHP ein Bild. Darin integriere ich ein anderes Bild. Nun habe ich das Problem, dass wenn am Rand des zu integrierenden Bildes die Farbe schwarz vorkommt, dass dies ebenfalls in weiß umgewandelt wird. Dadurch sieht das Bild ausgerissen und nicht mehr schön aus.
Was mache ich falsch, dass dies geschieht?
PHP:
$image = imagecreatetruecolor ( "500", "230" );
imagecopy ( $image, imagecreatefromjpeg ( $pic ), "0", "0", "-325", "-65", "500", "300" );
imagefill ( $image, "0", "0", imagecolorallocate ( $image, "255", "255", "255" ) );
Hmm das Problem scheint nicht an der Funktion zu liegen, sondern am Bild selbst.
Ich habe mir jetzt einmal dieses Bild heruntergeladen und im Windows in der Vorschau auf der linken Seite sind einige Teile von schwarzen Bereichen wie transparent!? Wie ist sowas bei jpg-Bildern möglich? Wenn ich das Bild jedoch normal auf einer Webseite einbinde, werden diese Bereiche schwarz dargestellt.
Hat jemand dieses Phänomen schonmal beobachtet? Ich dachte, jpg kennt keine Transparenz!?
Ich habe nun einmal versucht, den Hintergrund des zu integrierenden Bildes schwarz zu färben, denn dann werden keine weißen Flächen dargestellt, jedoch scheint das nicht zu funktionieren!?
PHP:
$image = imagecreatetruecolor ( "500", "230" );
$pic = imagecreatefromjpeg ( $picurl );
imagefill ( $pic, "0", "0", imagecolorallocate ( $image, "0", "0", "0" ) );
imagecopy ( $image, $pic, "0", "0", "-325", "-65", "500", "300" );
imagefill ( $image, "0", "0", imagecolorallocate ( $image, "255", "255", "255" ) );
Weiß keiner einen Rat, warum der Fehler auftritt?