Möchte ein Bild verkleinern...
Tom1tk
- php
0 Harry0 Tom1tk0 Tobias Kloth0 Tom1tk
0 Tom1tk
Halloa,
ich versuche gerade ein Bild zu verkleinern, aber irgendwie häng ich.
Die Bilder sollen aus dem Verzeichnis "tmp" verkleinert nach "temp" kopiert werden.
Vielleicht sieht von Euch jemand meinen Fehler.
Alle Vars sind belegt, Verzeichnisse und Quellbild existieren ... Und die Tutorials sind alle nur von einander abkopiert (und sehr schlecht beschrieben).
Kann es sein, dass diese Fkt auf meinem Server nicht läuft? Hat jemand ein Beispiel, das definitiv OK ist?
imagecopyresized ( "temp/bild.jpg,"tmp/bild.jpg", 0, 0, 0, 0,$imagewidth_new,$imageheight_new,$imagewidth,$imageheight);
Greets Tom1tk
Holladiewaldfee,
imagecopyresized ( "temp/bild.jpg,"tmp/bild.jpg", 0, 0, 0, 0,$imagewidth_new,$imageheight_new,$imagewidth,$imageheight);
imagecopyresized will mit Variablen vom Typ "ressource" gefüttert werden, nicht mit Dateinamen. Du mußt die Bilder also vorher erstellen bzw. öffnen.
Weil ich selber 'ne Zeit lang dafür gebraucht habe, hier ausnahmsweise eine fast fertige Lösung
$rSource = imagecreatefromjpeg('/path/to/source.jpg');
$rDestination = imagecreatetruecolor($iNewWidth, $iNewHeight);
imageantialias($rDestination, true); # optional: Kantenglättung
imageinterlace($rDestination, $bInterlace); # optional: Interlacing
imagecopyresampled($rDestination, $rSource, 0, 0, 0, 0, $iNewWidth, $iNewHeight, $iOldWidth, $iOldHeight);
imagejpeg($rDestination, '/path/to/destination.jpg', $iQuality);
imagedestroy($rSource); # optional: Speicher aufräumen
imagedestroy($rDestination); # optional: Speicher aufräumen
Die Variablen sollten (fast) selbsterklären sein, den Rest verrät Dir die PHP-Doku. Natürlich solltest Du Dich noch um eine appropriate Fehlerbehandlung kümmern, ich hab meine hier einfach rausgekürzt, da sie einen Haufen Konstanten und für Dich überflüssigen Code verwendt.
Du solltest allerdings aufpassen, ich verwende hier Funktion die zum einen min. GD 2.0.10 (oder so) voraussetzen und teilweise erst ab PHP 4.3.2 Teil des PHP-Paketes sind (ich glaube die alias-Funktion war das). Aber wie gesagt: Die PHP-Doku weiß bescheid.
Ciao,
Harry
Hi Harry,
bester Dank!
Auf so was mit Resource wär ich NIE gekommen. Es steht auch nirgends....
Thanx Tom1tk
Hallo Tom1tk,
Auf so was mit Resource wär ich NIE gekommen. Es steht auch nirgends....
was meinst du was das "resource" in der Doku (->http://de2.php.net/imagecopyresized) vor dem ersten Parameter bedeutet? (Die Typen sind übrigends unter http://de2.php.net/language.types erklärt, und was resource bedeutet steht auf http://de2.php.net/language.types.resource)
Grüße aus Nürnberg
Tobias
Hallo Tobias
entschuldige bitte 1000000 mal, dass ich so blöd war und nicht wusste was "resouce" bedeutet.
Man lernt täglich was neues dazu....
Greets Tom1tk
Ooops, hab noch ne Frage:
Welche Werte kann man für $iQuality angeben?
imagejpeg($rDestination, '/path/to/destination.jpg', $iQuality);
Thanx Tom1tk
Hallo Tom1tk,
Welche Werte kann man für $iQuality angeben?
imagejpeg($rDestination, '/path/to/destination.jpg', $iQuality);
Werte zwischen 1 und 100 (siehe http://de.php.net/imagejpeg) - was meinst du warum Harry mehrfach darauf hingwiesen hat, dass die Funktionen in der Doku erklärt sind?
Grüße aus Nürnberg
Tobias