hochgeladenes Bild verkleinern
Daniel
- php
hallo alle zusammen,
ich versuche gerade eine methode zu erstellen, mit der ich ganz einfach ein geg. Bild in der Größe verändern, komprimieren und wegspeichern kann.
Im Moment benutze ich noch "feste" Werte für Breite und Höhe, zum Testen.
Das Bild wird erstellt und gespeichert, auch das mit dem Komprimieren klappt. Allerdings wird immer nur ein Ausschnitt des Ausgangsbildes in das neue Bild einkopiert, ABER NICHT das gesamte, _verkleinerte_ Ausgangsbild in das neue, kleinere Bild.
Bin ich mit meiner bisherigen Lösung da irgendwie auf dem Holzweg?
/* Neue Bildhandler erstellen */
$OrgImage = imagecreatefromjpeg($this->DocRoot.$SrcPath); // Org. Bild: 1600*1200
$ResizedImage = imagecreatetruecolor(640,480); // neues Bild erstellen mit 640*480px
/* Orginalbild verkleinern, in Thumbnailbild einkopieren */
imagecopyresized ($ResizedImage, $OrgImage, 0, 0, 0, 0, 640, 480, 640, 480);
/* ...und verkleinertes Bild wegspeichern.... */ imagejpeg($ResizedImage,$this->DocRoot.$DestPath,$Compression);
/* Alle Bildinstanzen löschen */
imagedestroy($OrgImage);
imagedestroy($ResizedImage);
Wie gesagt, das Berechnen der korrekten Seitenverhältnisse kommt später, im Moment gehe ich immer von einem Quellbild mit 1600*1200px aus, das auf 640*480 verkleinert werden soll...
Vielen Dank für eure Hilfe,
Grüße,
Daniel
Sorry, wollte noch dazuschreiben, daß ich mit der GD2.0 arbeite - nicht die neueste Version (soweit ich weiß) aber nicht zu ändern, da vom Provider "vorgegeben"....
Hallo,
imagecopyresized(int dst_im, int src_im, int dstX, int dstY, int srcX, int srcY, int dstW, int dstH, int srcW, int srcH)
imagecopyresized ($ResizedImage, $OrgImage, 0, 0, 0, 0, 640, 480, >>640, 480);
du musst die letzten beiden Werte an Höhe und Breite des Orginals
anpassen.
Grüße,
Daniel
gerne zurück
Hallo,
du musst die letzten beiden Werte an Höhe und Breite des Orginals
anpassen.
ohhhhhh maaaaann !!
wenn du wüßtest, wielange ich deshalb rumprobiert habe ;-)
jetzt geht es tadellos.
Vielen, vielen Dank für deine Hilfe !!
Grüße,
Daniel