Hallo,
mein Upload Script speichert das Bild zuerst in ein Tmp Verzeichnis wo ich es dann nochmals lade. Das hat den Sinn das ich es nach dem Upload nochmals zuschneiden kann. Dafür hab ich ein Javascript welches mir hilft per Maus einen Rahmen über das Bild zu setzen und das Bild auch zu verkleinern. Nach dem Senden des zugeschnittenen Teilbildes bekomme ich per $_POST folgende Werte $size_x, $size_y, $offset_x, offset_y, $img_width, $img_height und natürlich hab ich noch die $orig_img_height, $orig_img_height welche ich per getimagesize() bekomme.
Nun meine Frage:
Ich möchte anhand dieser Werte das Teilbild mit Hilfe von imagecreatefromjpg(), imagecreatetruecolor() und imagecopyresampled() erstellen.
Wie kann ich da die Werte einsetzen? Denn ich bekomme da immer wrong image size.
Bitte um Hilfe
Grüsse
Ankündigung
Einklappen
Keine Ankündigung bisher.
Bild vor dem Upload zuschneiden
Einklappen
Neue Werbung 2019
Einklappen
X
-
Bild vor dem Upload zuschneiden
Stichworte: -
-
Ein Gast antworteteBild vor dem Upload zuschneiden
Hallo CiXX88,
hast du keine Lösung für mein Problem?
Grüsse
-
Ein Gast antworteteZitat von CIX88Wollte grad dein Beispiellink nochmal testen, aber ausser:
Diese Funktion ist bisher nur mit Internet Explorer möglich
Einen Kommentar schreiben:
-
Ein Gast antworteteWollte grad dein Beispiellink nochmal testen, aber ausser:
Diese Funktion ist bisher nur mit Internet Explorer möglich
Einen Kommentar schreiben:
-
Ein Gast antworteteZitat von CIX88Hängt sicher mit dem JS zusammen.
Ist nur eine Vermutung, da ich mich nicht wirklich mit JS auskenne (will es auch nicht).
Ich hätte das mal einzel getestet, ob die Werte überhaupt ankommen und welchen Inhalt diese haben.
Der Inhalt der Variablen:
$img_width und $img_height = neue Bildgrösse
$size_x und $size_y = der Bildausschnitt also das Teilbild welches per JS ausgewählt wurde
$offset_x = Position des Rahmens von links aus gesehen
$offset_y = Position des Rahmens von oben aus gesehen
Grüsse
Einen Kommentar schreiben:
-
Ein Gast antworteteHängt sicher mit dem JS zusammen.
Ist nur eine Vermutung, da ich mich nicht wirklich mit JS auskenne (will es auch nicht).
nur die $size_x, $size_y, $img_width und $img_height verwendet
Einen Kommentar schreiben:
-
Ein Gast antworteteZitat von CIX88Also $offset_x ist die Bildposition für unten links und $offset_y ist die Bildposition für oben links
Du brauchst nur 4 Angaben: X,Y sowie Breite und Höhe - mehr nicht.
Bei der Demo kommt aber noch:
Notice: Undefined index: image_dst in /homepages/9/d17719479/htdocs/crazyconnection.de/einstellungen/foto.php on line 43
Notice: Undefined index: image_dst2 in /homepages/9/d17719479/htdocs/crazyconnection.de/einstellungen/foto.php on line 44
Notice: Undefined index: image_dst3 in /homepages/9/d17719479/htdocs/crazyconnection.de/einstellungen/foto.php on line 45
Notice: Undefined index: image_tmp in /homepages/9/d17719479/htdocs/crazyconnection.de/einstellungen/foto.php on line 47
Warning: imagesx(): supplied argument is not a valid Image resource in /homepages/9/d17719479/htdocs/crazyconnection.de/einstellungen/foto.php on line 74
Warning: imagesy(): supplied argument is not a valid Image resource in /homepages/9/d17719479/htdocs/crazyconnection.de/einstellungen/foto.php on line 75
EDIT:
Im FF ging es bei mir garnicht, nur im IE.
Einen Kommentar schreiben:
-
Ein Gast antworteteAlso $offset_x ist die Bildposition für unten links und $offset_y ist die Bildposition für oben links
Du brauchst nur 4 Angaben: X,Y sowie Breite und Höhe - mehr nicht.
Bei der Demo kommt aber noch:
Notice: Undefined index: image_dst in /homepages/9/d17719479/htdocs/crazyconnection.de/einstellungen/foto.php on line 43
Notice: Undefined index: image_dst2 in /homepages/9/d17719479/htdocs/crazyconnection.de/einstellungen/foto.php on line 44
Notice: Undefined index: image_dst3 in /homepages/9/d17719479/htdocs/crazyconnection.de/einstellungen/foto.php on line 45
Notice: Undefined index: image_tmp in /homepages/9/d17719479/htdocs/crazyconnection.de/einstellungen/foto.php on line 47
Warning: imagesx(): supplied argument is not a valid Image resource in /homepages/9/d17719479/htdocs/crazyconnection.de/einstellungen/foto.php on line 74
Warning: imagesy(): supplied argument is not a valid Image resource in /homepages/9/d17719479/htdocs/crazyconnection.de/einstellungen/foto.php on line 75
EDIT:
Im FF ging es bei mir garnicht, nur im IE.
Einen Kommentar schreiben:
-
Ein Gast antworteteZitat von CIX88Bitte bei PHP-Quellcode [PHP]-Tags benutzen:
Code:PHP-Code:/* Hier Quellcode posten, natürlich ohne [ code ] :-) */
Hmm, kann grad dein Script nicht ganz folgen, was ist $offset_x bzw. $offset_y ?
Auf was bezieht sich das ?
Hier hab ich das Demo zu meinem Problem. Ich habe eine var_dump() als Ausgabe hinzugefügt nachdem das Bild komplett bearbeitet und hochgeladen wurde. Da sieht man genau was $offset für Daten beinhaltet.
http://www.crazyconnection.de/einstellungen/foto.php
Einen Kommentar schreiben:
-
Ein Gast antworteteBitte bei PHP-Quellcode [PHP]-Tags benutzen:
Code:PHP-Code:/* Hier Quellcode posten, natürlich ohne [ code ] :-) */
Auf was bezieht sich das ?
Einen Kommentar schreiben:
-
Ein Gast antworteteZitat von CIX88Korrigieren oder weiter selber versuchen.
Im Prinzip ist es nichts anders wie das:
http://www.cix88.de/cix_php/php_graf...ausschnitt.php
Verweis
www.php.net/ImageCopyResized
Hi Cixx88,
auch dein Bsp. hab ich versucht, aber das mit dem offset klappt nicht ganz.
Einen Kommentar schreiben:
-
Ein Gast antworteteZitat von phpfanja die hab ich schon mehrmals studiert, aber es klappt leider nicht so wie ich das mir vorstelle
Gruß
phpfan
hier ist mal mein Code Schnippsel welches ich bisher benutzt hab:
Code:PHP-Code:$dir = "dir"; $sizelimit = 1; //Do you want a size limit, yes (1) or no (2)? $upload_path = "$absoluter_pfad/$images/userpics_tmp"; //Absolute path to where files are uploaded if(isset($_POST['submit']) && $_POST['submit'] == ' Speichern ') { $dst_im = "{$_SESSION['image_dst']}"; $src_im = "{$_SESSION['image_tmp']}"; $image_size = array(); $image_size = getimagesize(rtrim("$upload_path/{$_SESSION['uid']}.jpg")); $ow = $image_size[0]; $oh = $image_size[1]; $nw = $_POST['img_width']; $nh = $_POST['img_height']; $size_x = $_POST['size_x']; $size_y = $_POST['size_y']; $offset_x = $_POST['offset_x']; $offset_y = $_POST['offset_y']; $size_x = $size_x - $offset_x; $size_y = $size_y - $offset_y; $imgOut = imagecreatetruecolor($nw, $nh); $imgSrc = imagecreatefromjpeg($src_im); $srcWidth = imagesx($imgSrc); $srcHeight = imagesy($imgSrc); imagecopyresampled($imgOut, $imgSrc, 0, 0, $size_x, $size_y, $ow, $oh, $ow, $oh); @imagejpeg($imgOut, $dst_im, 90); @unlink("$upload_path/{$_SESSION['uid']}.jpg");
$offset_x und $offset_y bleiben 0 solange man das bild nicht von oben nach unten oder von links nach rechts verkleinert.
$size_x und $size_y sind die Bildgrössen welche ausgeschnitten werden sollen
Grüsse[/code]
Einen Kommentar schreiben:
-
Ein Gast antworteteKorrigieren oder weiter selber versuchen.
Im Prinzip ist es nichts anders wie das:
http://www.cix88.de/cix_php/php_graf...ausschnitt.php
Verweis
www.php.net/ImageCopyResized
Einen Kommentar schreiben:
-
Ein Gast antworteteja die hab ich schon mehrmals studiert, aber es klappt leider nicht so wie ich das mir vorstelle
Gruß
phpfan
Einen Kommentar schreiben:
-
Ein Gast antworteteja die hab ich schon mehrmals studiert, aber es klappt leider nicht so wie ich das mir vorstelle. Deswegen wende ich mich jetzt mal an dieses Forum und seine erfahrenen PHP User.
Grüsse
Einen Kommentar schreiben:
Einen Kommentar schreiben: