beetFreeQ Geschrieben 5. April 2004 Geschrieben 5. April 2004 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!
Net-srac Geschrieben 5. April 2004 Geschrieben 5. April 2004 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...
beetFreeQ Geschrieben 5. April 2004 Autor Geschrieben 5. April 2004 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...
beetFreeQ Geschrieben 5. April 2004 Autor Geschrieben 5. April 2004 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?
Net-srac Geschrieben 5. April 2004 Geschrieben 5. April 2004 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.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden