Mailinglisten-Archive |
Hallo Liste, Ich habe ein JPEG-Foto (640x480, 61kb, TrueColor) welches ich mittels ImageCreateFromJPEG($filename); einlese, dann will ich zur Thumbnail-Erstellung (550x413) mittels ImageCopyResampled (gdlib2 funktion...) das Foto skalieren. Mit ImagePNG oder ImageJPEG gebe ich es direkt zum Browser aus (abspeichern funktioniert aus irgendeinem Grund noch nicht - ist aber hier nicht die Frage, liegt wohl an den Permissons). Wenn ich es im Internet Explorer auf der Festplatte abspeichern will (rechts klicken... blabla), dann zeigt mir der IE schon an, dass er es als Bitmap speichern will, naja gut weiter, speichern. Das Thumbnail-Foto, welches hinterher auf der Festplatte landet, ist um den Faktor 10 (original: 61kb, resized: 614kb) größer. Ich denke das rührt daher, das der IE es wohl als Bitmap abspeichert. Ich weiß aber nicht warum dies geschieht, ich hätte das lieber als echtes JPEG oder PNG. Hier noch der Source: if ($thisFormat == 2) { // JPG Image $photoOriginal = ImageCreateFromJPEG($pathFull.$thisFilename); $photoNew = ImageCreateTrueColor($newSizeWidth, $newSizeHeight); ImageCopyResampled($photoNew, $photoOriginal , 0, 0, 0, 0, $newSizeWidth, $newSizeHeight, $thisSizeWidth, $thisSizeHeight); header("Content-type: image/jpeg"); ImageJPEG($photoNew); } Was mir noch aufgefallen ist, wenn ich ImageJPEG keinen Wert zur Kompressionsrate mitgebe, soll diese ja laut Doku 100% betragen, die Qualität ist aber sichtlich schlechter als das Original, oder das mit ImagePNG erzeugte Bild. Kann man da auch noch dran drehen? -- Mit freundlichen Grüßen, Jens Kohl ( mailto:j.kohl_(at)_style-id.de )
php::bar PHP Wiki - Listenarchive