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.