Hi,
Hi
imagecopyresized($ziel_file,$quell_file,0,0,0,0,$width,$height,$bild_w,$bild_h)
Ich weiß nicht was für was steht. Auch im Befehlsverzeichnis von PHPmyself werde ich nicht schlauer. Oder ich versteh das gefasel nicht.
http://selfphp.info/funktionsreferenz/image_funktionen/imagecopyresized.php
SelfPHP ist schlecht. Verwende besser die Original-Dokumentation: http://de.php.net/imagecopyresized
Kannmir das jemand auf deutsch erklären?
Du lädst ein Bild mit (ich übernehme mal die blödsinnigen Variablennamen (es handelt sich nicht um files, sondern um handler)):
$quell_file = imagecreatefromjpeg("pfad_zum_bild.jpg");
Dann kannst du dessen Größe ermitteln:
$height = imagesy($quell_file); // Höhe
$width = imagesx($quell_file); // Breite
Du erstellst dir ein zweites, leeres Bild, in einer anderen Größe (wie groß das neue Bild sein soll, muss in $bild_w und $bild_h stehen):
$ziel_file = imagecreatetruecolor($bild_w,$bild_h);
Jetzt kannst du mit imagecopyresized das alte Bild, in veränderter Größe, in das neue kopieren:
imagecopyresized($ziel_file,$quell_file,0,0,0,0,$width,$height,$bild_w,$bild_h);
Das bedeutet, dass das Bild aus $quell_file in das Bild $ziel_file kopiert werden soll, und zwar jeweils der Ausschnitt beginnend bei 0. D. h. es wird das komplette Bild, und nicht nur ein bestimmter Teil davon kopiert. Dannach kommen die Größenangaben.
imagecopyresized ist für Fotos aber eher ungeeignet, nimm da besser imagecopyresampled.
Wenn du jetzt noch
imageinterlace($ziel_file);
machst, sieht das Ergebnis beim Laden schöner aus, weil es erst unscharf und dann immer schärfer wird, anstatt sich langsam aufzubauen.
Letztendlich kannst du das neue Bild mit
imagejpeg($ziel_file,"neuer_dateiname.jpg",70);
speichern. Das 70 beeinflusst hierbei die Komprimierung, d. h. umso niedriger die Zahl, umso stärker die Komprimierung (=> schlechtere Bild-Qualität, aber geringere Dateigröße).
Schöne Grüße
Julian
"Real programmers can write assembly code in any language." - Larry Wall