mit cropper klasse bilder zerschneiden

  • heyho,
    ich habe eine ziemlich coole Ajax Cropper Klasse gefunden, die ich gerne benutzten würde, um bilder, die auf dem webspace liegen, via php zu zerschneiden, für benutzerprofile z.B.

    Ich habe jetzt alles Mögliche gegoogelt, und mir bei selfphp die image funktionen rein gezogen. Wenn ich das da lese, dann erscheint es mir recht simpel, aber ich habe einfach keine Ahnung, wie ich nun die Daten, die das Cropper Script ausgibt, in die Funktionen übertragen soll. Im Netz habe ich leider auch kein Beispiel gefunden.
    Daher würde ich die Leute hier, die Ahnung von dem Grafikkram in php haben, bitten, mir vielleicht ein mini Beispiel zu posten, damit ich weiß, was von dem Script wo hin kommt...

    mein versuch
    der code

    Vielen Dank im voraus.

    LG
    Max

  • Um nun mal ein bisschen konkreter zu werden^^, habe ich mir nun den nötigen code durch googeln etc zusammen gebastelt, doch ein Problem bleibt.

    Code
    $size = array(100,133);
    $point = array($x1,$y1);
    imagecopyresampled($new, $image, 0,0, $point[0],$point[1],$size[0],$size[1], $size[0],$size[1]);

    Also das ist ein Ausschnitt aus dem Code. Das Problem ist jetzt, dass im Prinzip nur der Abstand von oben und links zum auszuschneiden Teil mit in die Funktion eingebunden sind. Die Werte für oben und rechts an sich kann man sich ja errechnen. Doch wo muss ich die Werte nun in die Funktion eintragen, damit rechts und unten noch was weg geschnitten wird?

    LG
    Max

  • Wenn du hier die JavaScript Auswahl auf dem großen Bild mal veränderst und vergrößerst, siehst du auf dem Bild darunter, dass man mit der Auswahl nicht konkret den Teil, der ausgechnitten werden soll, angibt, sondern den Teil, der in einer vorgegeben Größe zusehen sein soll.
    Wenn Du dann mal auf "zuschneiden" klickst und die Erinnerung an die Vorschau mit dem Bild was letztendlich raus kommt vergleichst, fällt auf, dass es nicht das Selbe ist.
    Das Problem ist erkennbar, wenn man das Bild, was erzeugt werden soll, in Höhe und Breite vergrößert. Dort ist dann nämlich nicht der Ausschnitt, wie bei der Vorschau, zu sehen, sondern ein weit aus größeres Stück des Bildes. Oben und links wird der Teil außerhalb der Auswahl abgeschnitten, aber unten und rechts ist dann der rest vom Bild zu sehen.
    Wenn man also die Auswahl vergrößert, sie dann unten links in die Ecke setzt und das Bild durch den klick auf zuschneiden erzeugt, wird der ganze Teil, der noch zur rechten Seite des Bildes fehlt mit in das erzeugte Bild reingepackt.
    Meiner Meinung fehlt da also eindeutig der Abstand von der rechten Seite zur Auswahl. Bei dem Stück von unten zur Auswahl genauso.
    Die Werte an sich kann man ja relativ leicht errechnen, aber man muss die doch irgendwie in die Funktion reinbekommen können, oder?

    Ich hoffe die Schilderung des Problems ist einigermaßen verständlich. :lol:

    Danke im voraus.

    LG
    Max

  • Entweder ist die «.phps» nicht auf dem neusten Stand oder du hast die Variable «$size» noch immer nicht mit den richtigen Werten gefüttert.

    Bei «imagecopyresampled» brauchst du immer 310,350 als breite,höhe des «src img width,height» du musst da die wirkliche breite,höhe des ausschnittes verwenden und beim «dest width,height» kannst du 310,350 verwenden

  • Die Breite ist doch immer 310x350.
    Mit dem JavaScript-Teil wählt man doch nur den Bereich aus, der auf dem Bild mit der Größe 310x350 angezeigt werden soll, und nicht den Bereich, der konkret ausgeschnitten werden soll.

    LG
    Max

  • Ja die ausgabe soll 310*350 gross sein aber nicht die source dieses Bildes auf dem Originalbild!

    Zitat


    imagecopyresized ( resource $dst_im , resource $src_im , int $dstX , int $dstY , int $srcX , int $srcY , int $dstW , int $dstH , int $srcW , int $srcH );


    Die fetten, da muss die Breite und Höhe der Auswahl drin sein. Bei dir ist da immer 310*350 drin.