Veröffentlicht 5. April 200421 j Moin! Ich nutze die gd-Lib zum Verkleinern von Bildern zwecks Anzeige als Thumbnails. Leider hab' ich dabei seltsamerweise das Problem, daß die Farben in den Thumbnails häufig ziemlich verzerrt sind. Wenn z.B. ein Bild dabei ist, auf dem ganz viel blau drauf ist, besteht das Thumbnail fast nur noch aus Blautönen. Weiß jemand, woran das liegen kann und vor allem, wie ich das verhindern kann? Thx schonmal!
5. April 200421 j Ich denke die Stichworte lauten Imagecreatetruecolor und beim verkleinern resample statt resize... Ab der GD-Version, die bei php4.3x drin ist, mußt du beim erzeugen eines bildes imagecreatetruecolor statt imagecreate verwenden... dann klappts auch mit dem Nachb.... ähm... den Farben...
5. April 200421 j Autor Achso, sorry, hatte garnicht dran gedacht $size = getimagesize($bild); $breite = $size[0]; $hoehe = $size[1]; if ($breite > 200): $neueBreite = 200; $neueHoehe = intval($hoehe*$neueBreite/$breite); else: $neueBreite = $breite; $neueHoehe = $hoehe; endif; if ($size[2] == 2): // JPG $altesBild = ImageCreateFromJPEG($bild); $neuesBild = ImageCreate($neueBreite,$neueHoehe); ImageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe); ImageJPEG($neuesBild); elseif ($size[2] == 3): // PNG $altesBild = ImageCreateFromPNG($bild); $neuesBild = ImageCreate($neueBreite,$neueHoehe); ImageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe); ImagePNG($neuesBild); endif; [/php] Damit erstelle ich die Thumbs immer on the fly - ich weiß, ist nicht grad die schlaueste Möglichkeit, aber das Ganze sollte erstmal funktionieren. An der Funktion zum Verkleinern sollte sich ja eigentlich nichts ändern, wenn ich das Ganze nur einmal machen und die Datei dann speichern würde...
5. April 200421 j Autor Original geschrieben von Net-srac Ich denke die Stichworte lauten Imagecreatetruecolor und beim verkleinern resample statt resize... Ab der GD-Version, die bei php4.3x drin ist, mußt du beim erzeugen eines bildes imagecreatetruecolor statt imagecreate verwenden... dann klappts auch mit dem Nachb.... ähm... den Farben... Das klingt gut - hatte mir schon gedacht, daß irgendwie die Farben reduziert werden - allerdings kam's mir auch komisch vor, da ich ja nur mit JPG bzw. PNG arbeite. Werde das mal probieren! Wie lautet die Funktion zum Resamplen denn genau? ImageCopyResampled?
5. April 200421 j jap, imagecopyresampled Nochmal zu imagecreatetruecolor laut php.net Anmerkung: This function was added in PHP 4.0.6 and requires GD 2.0.1 or later.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.