Bilder verkleiner ohne Qualitätsverlust

Hallo,
ich wollte ein Script schreiben, welches Bilder automatisch per PHP verkleinert. Das hat auch soweit funktioniert, nur wenn das Bild verkleinert wird, sind z.B. die Kanten auf dem Bild unscharf etc., die Qualität ist einfach nicht mehr so wie sie war. Wenn ich das Bild stattdessen mit Photoshop verkleiner, sieht es viel besser aus, als durch PHP.
Hier mal ein Beispiel-Bild welches verkleinert werden soll:
http://www.mpstore24.de/bildproblem/md0439_800.jpg

Jetzt hier das mit einer Breite von 250 Pixel, verkleinert durch mein Script: http://www.mpstore24.de/bildproblem/thumb_neu2.jpg
Und hier zum Vergleich, das gleiche Bild, verkleinert durch Photoshop: http://www.mpstore24.de/bildproblem/md0439_250.jpg

Es ist ein eindeutiger Qualtitäsverlust zu erkennen.

Hier mein Script:

$Grafikdatei = $filefoto;

$Bilddaten = getimagesize($Grafikdatei);

$OriginalBreite = $Bilddaten[0];
$OriginalHoehe = $Bilddaten[1];
$ThumbnailBreite = 250;

if($OriginalBreite ";

Meine GD-Version: 2.0.28
Meine PHP-Version: 5.1.4

Was mache ich falsch, dass es so ein Qualtätsverlust (Bild verzehrt bzw. unscharfe Kanten etc.) gibt?

Hallo,
ich wollte ein Script schreiben, welches Bilder automatisch
per PHP verkleinert. Das hat auch soweit funktioniert, nur
wenn das Bild verkleinert wird, sind z.B. die Kanten auf dem
Bild unscharf etc., die Qualität ist einfach nicht mehr so wie
sie war.

scrnr: sollten sie auch nciht - du willst sie ja reduzieren

Wenn ich das Bild stattdessen mit Photoshop
verkleiner, sieht es viel besser aus, als durch PHP.
Hier mal ein Beispiel-Bild welches verkleinert werden soll:
http://www.mpstore24.de/bildproblem/md0439_800.jpg

ok, du hast also kein problem mit unschaerfe sondern ein problem mit stufen.

> $Originalgrafik = ImageCreateFromGIF($Grafikdatei);  
> $Thumbnailgrafik = ImageCreateTrueColor($ThumbnailBreite,  
> $ThumbnailHoehe);  
> ImageCopyResized($Thumbnailgrafik, $Originalgrafik, 0, 0,  
> 0, 0, $ThumbnailBreite, $ThumbnailHoehe, $OriginalBreite,  
> $OriginalHoehe);  
> ImageGIF($Thumbnailgrafik,  
> "bilder/abilder/thumb\_neu2.gif", 100);

Was mache ich falsch, dass es so ein Qualtätsverlust (Bild
verzehrt bzw. unscharfe Kanten etc.) gibt?

tausche mal die aufrufe von ImageCopyResized gg. imagecopyresampled …

tausche mal die aufrufe von ImageCopyResized gg.
imagecopyresampled …

Vielen Vielen Dank, es funktioniert einwandfrei, jetzt sieht das Bild genauso aus, als hätte ich es mit Photoshop verkleinert.
Ich hatte schon gedacht, ich muss mich damit abfinden, dass PHP das so schlecht macht, aber man sollte woll nie die Hoffnung aufgeben :wink:

Danke noch mal