phpbar.de logo

Mailinglisten-Archive

[php] gdlib 2.0 resampled resize

[php] gdlib 2.0 resampled resize

Jens Kohl php_(at)_phpcenter.de
Sat, 30 Mar 2002 00:25:36 +0100


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