Andreas Görtz: Qualität von Thumbnails mit ImageCopyResized + ImageJPEG

Beitrag lesen

Hi,

Frage: Woran liegt das und was kann ich tun, damit die Qualität immer gut ist?

das liegt daran, dass du mit ImageCreateFromJPEG() ein Truecolor-Bild erzeugst, mit ImageCreate() allerdings nur ein Paletten-Bild, dem nur 256 Farben aus dem Quell-Bild zur Verfügung stehen (aber welche Farben soll es nehmen? ;-)).

Falls du die gdlib 2 hast, würde ich so vorgehen, wie Sven das beschrieben hat (also mit ImageCreateTrueColor() und ImageCopyResampled()), da dies bessere Ergebnisse erzielen sollte. Falls nicht, kannst du das Truecolor-Bild nach dem Erzeugen mittels ImageTrueColorToPalette() in ein Paletten-Bild umwandeln und erst dann mittels ImageCopyResized() in das Ziel-Bild kopieren.

$Balt = ImageCreateFromJPEG($bigPic);

Füg hier hinter mal die Zeile

ImageTrueColorToPalette($Balt, true, 256);

ein, dann sollte es klappen, da das Quell-Bild nun auch nur noch 256 Farben besitzt, die dann dem Ziel-Bild für die Palette zur Verfügung stehen.

Gruß,
Andreas.