Nach Upload Bilder verkleinern
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
all
bild
code
dank
datei
erstellt image
file
funktion
http
image
leeres bild
list
manual
maximum
null
output
set
type
url
zweite bild
-
Hallo @all
Ich möchte gernen das meine Bilder nach dem Upload verkleinert werden. Kann mir das jmd Helfen.
Wichitge Infos wie Code stehen hier http://www.lima-city.de/thread/nach-dem-upload-pfad-ausgeben
würde mich über jede Hilfe freuen
gruß -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Dankeschön:-), kannst du mir da ein kleinen Ansatz geben?
-
1. Bild zwischenspeichern
2. per imageCreateFromXxx() laden (= Bild1)
3. neues Bild mit imageCreate(gewünschteBreite, gewünschteHöhe) erstellen (= Bild2)
4. gesamtes Bild1 mit imageCopyResized() in Bild2 kopieren
5. Bild2 mit imageXxx() in Datei speichern
PS: Mit dem Xxx ist PNG / GIF / JPEG / ... gemeint, je nachdem von welchem Typ das Bild ist.
LG cookies
Beitrag zuletzt geändert: 26.10.2009 16:51:32 von cookies -
Ich würde statt imagecopyresized() lieber imagecopyresampled() verwenden. Macht im Prinzip das Gleiche, nur dass die Qualität wesentlich besser ist. Allerdings ist die Funktion auch ein bisschen langsamer, weswegen man bei großen Bildern beide Funktionen kombinieren sollte.
-
habe mir hier mal das beispiel angekuckt...wenn Resample kommt stehe ich im regen!
<?php // The file $filename = 'test.jpg'; // Set a maximum height and width $width = 200; $height = 200; // Content type header('Content-type: image/jpeg'); // Get new dimensions list($width_orig, $height_orig) = getimagesize($filename); $ratio_orig = $width_orig/$height_orig; if ($width/$height > $ratio_orig) { $width = $height*$ratio_orig; } else { $height = $width/$ratio_orig; } // Resample $image_p = imagecreatetruecolor($width, $height); $image = imagecreatefromjpeg($filename); imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig); // Output imagejpeg($image_p, null, 100); ?>
-
// Resample $image_p = imagecreatetruecolor($width, $height); //=> neues, leeres Bild wird erstellt $image = imagecreatefromjpeg($filename); //=> das zwischengespeicherte Bild wird eingelesen imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig); //=> das zweite Bild wird in das Erste kopiert // Output imagejpeg($image_p, 'DATEINAME_DES_ZIELBILDES', 100); //=> Das Bild wird gespeichert in DATEINAME_DES_ZIELBILDES
LG cookies -
Danke Cookies,Ich bekomme kryptische zahlen/Zeichen:-)
�����JFIF������������ᐼ#�����J?ᐼ#�����J�K��'������I�S����?�'������I�S����?ռO�a�
<?php // Set a maximum height and width $width = 200; $height = 200; $tempname = $_FILES['file']['tmp_name']; $name = $_FILES['file']['name']; $type = $_FILES['file']['type']; $size = $_FILES['file']['size']; if($type != "image/gif" && $type != "image/jpeg" && $type != "image/tiff" && $type != "image/png" && $type != "image/bmp") { $err[] = "nur gif,jpeg,tiff,png und bmp Dateien dürfen hochgeladen werden."; } if($size > "5000000") { $err[] = "Die Datei welche du hochladen willst, ist zu gross!<br>Maximale Dateigrosse beträgt 5 MB!"; } if(empty($err)) { list($width_orig, $height_orig) = getimagesize($tempname); $ratio_orig = $width_orig/$height_orig; if ($width/$height > $ratio_orig) { $width = $height*$ratio_orig; } else { $height = $width/$ratio_orig; } $image_p = imagecreatetruecolor($width, $height); // neues, leeres Bild wird erstellt $image = imagecreatefromjpeg($tempname); //=> das zwischengespeicherte Bild wird eingelesen imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig); //=> das zweite Bild wird in das Erste kopiert // Output imagejpeg($image_p, null, 100); //=> Das Bild wird gespeichert in DATEIN // Output imagejpeg($image_p, null, 100); echo "Die Datei $name wurde erfolgreich hochgeladen!"; echo"<br/>"; echo "http://simsobjekts.lima-city.de/bilder/" . $name; //http://simsobjekts.lima-city.de/bilder/ } else { foreach($err as $error) echo "$error<br>"; } ?>
Beitrag zuletzt geändert: 26.10.2009 18:41:36 von simsobjekts -
<?php // Set a maximum height and width $width = 200; $height = 200; $tempname = $_FILES['file']['tmp_name']; $name = $_FILES['file']['name']; $type = $_FILES['file']['type']; $size = $_FILES['file']['size']; if($type != "image/gif" && $type != "image/jpeg" && $type != "image/tiff" && $type != "image/png" && $type != "image/bmp") { $err[] = "nur gif,jpeg,tiff,png und bmp Dateien dürfen hochgeladen werden."; } if($size > "5000000") { $err[] = "Die Datei welche du hochladen willst, ist zu gross!<br>Maximale Dateigrosse beträgt 5 MB!"; } if(empty($err)) { list($width_orig, $height_orig) = getimagesize($tempname); $ratio_orig = $width_orig/$height_orig; if ($width/$height > $ratio_orig) { $width = $height*$ratio_orig; } else { $height = $width/$ratio_orig; } $image_p = imagecreatetruecolor($width, $height); // neues, leeres Bild wird erstellt $image = imagecreatefromjpeg($tempname); //=> das zwischengespeicherte Bild wird eingelesen imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig); //=> das zweite Bild wird in das Erste kopiert // Output imagejpeg($image_p, null, 100); //=> Das Bild wird gespeichert in DATEIN // Output imagejpeg($image_p, 'DATEINAME', 100); echo "Die Datei $name wurde erfolgreich hochgeladen!"; echo"<br/>"; echo "http://simsobjekts.lima-city.de/bilder/" . $name; //http://simsobjekts.lima-city.de/bilder/ } else { foreach($err as $error) echo "$error<br>"; } ?>
Du musst bei imageJPEG statt null den Ziel-Dateinamen angeben.
LG cookies -
und was ist wenn sich der Datei Name nicht ändern soll?, sondern von dem Bild1 übernehmen soll
-
simsobjekts schrieb:
und was ist wenn sich der Datei Name nicht ändern soll?, sondern von dem Bild1 übernehmen soll
Dann gibst du dort einfach auch den gleichen Dateinamen an, dann wird das Bild überschrieben.
LG cookies -
aber der Name des Bildes ist doch Relative sprich immer anders oder mache ich das mit $name?
Edit: Es funtzt so DANKE
Beitrag zuletzt geändert: 26.10.2009 19:48:03 von simsobjekts -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage