Bild[Größe+Ausschnitt]

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Bild[Größe+Ausschnitt]

    Hallo,

    ich stehe etwas auf dem Schlauch.
    Ich habe ein JavaScript, womit ich ein Bild vergrößern und verkleinern kann.
    Gleichzeig kann man mit einem Rahmen festlegen, welchen Teilausschnitt man vom Bild möchte. Beim Abschicken sind somit folgende Angaben in PHP bekannt:

    $size_x - INT => Rahmen Anfang x = neue Größe des Bildes x-Achse
    $size_y - INT => Rahmen Ende y = neue Größe des Bildey y-Achse
    $offset_x - INT => Teilabschnitt(Mitten im Bild) X-Achse(positiv > 0)
    $offset_y - INT => Teilabschnitt(Mitten im Bild) y-Achse(positiv > 0)
    $img_height - INT => Originalgröße vor dem Bearbeiten y-Achse
    $img_width - INT => Originalgröße vor dem Bearbeiten x-Achse

    Mein Problem ist, dass ich es nicht gebacken kriege, dass Bild zu verkleinern UND ggf. den Teilabschnitt in einer neuen Datei auszugeben.

    würde ich mich auf nur eine Funktion - entweder Vergrößern oder nur Teilausschnitt - beschränken, würde ich entweder:

    a.) für die Größe imagecopyresampled() oder imagecopyresize()
    b.) für den Ausschnitt imagecopy()

    verwenden.

    Kann es sein, dass ich mich komplizierter anstelle, als nötig? Oder kommt man hier nicht um eine lineare Gleichung herum?

    Denn mein Grundgedanke ist im Moment, dass ich das Bild zuerst verkleinere, und dann die Y und X Offset-Koordinaten errechne, um von dem neuen Bild, dass mit imagecopyresampled() bzw. imagecopyresize() in der Größe verändert wurde, die Offset's im neuen Bild zu errechnen.

    Hoffe, ich schrieb kein Kauderwelsch....

    Danke für jegliche Mühe von allen im voraus.

    Es kommt nicht darauf an, mit dem Kopf durch den Monitor zu rennen,
    sondern mit den Augen das Manual zu lesen.

  • #2
    Re: Bild[Größe+Ausschnitt]

    manual:
    ImageCopyResized() kopiert einen rechteckigen Ausschnitt eines Bildes in ein anderes. Dst_im gibt das Zielbild, src_im die Bildquelle an. Unterscheiden sich die Angaben der Quelle und des Ziels bezogen auf die Koordinaten, Höhe oder Breite, wird das Teilbild entsprechend gedehnt oder geschrumpft.
    und jetzt sag mir, wieso dir das nicht weiterhilft ...?
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Vielleicht wende ich es nicht richtig an, aber: Wenn ich beides aufeinmal mache, verkleinert er das bild nur, und hinterlässt schwarzen rahmen aber "überschuss" und der teilausschnitt zeigt auch keine wirkung :/

      Es kommt nicht darauf an, mit dem Kopf durch den Monitor zu rennen,
      sondern mit den Augen das Manual zu lesen.

      Kommentar


      • #4
        Re: Bild[Größe+Ausschnitt]

        Original geschrieben von xManUx
        Hoffe, ich schrieb kein Kauderwelsch....
        *hust*

        versteh ich das richtig:
        - ausgangsbild
        - user wählt ausschnitt
        - ausgangsbild soll entsprechend beschnitten werden
        - danach verkleinert (als thumbnail?)
        ?

        wenn ja, würd ich erst den ausschnitt kopieren
        - neues bild in entsprechender grösse erzeugen
        - mit imagecopy() den ausschnitt kopieren
        - bildresource schreiben
        - verkleinern => imagecopyresampled()/imagecopyresize()
        - thumbnail schreiben

        vielleicht hab ich dich aber auch mistverstanden
        Kissolino.com

        Kommentar


        • #5
          *Salbei-Bonbon anbiet*

          Nein, kein Thumbnail das Original(Ausgangsbild) soll kleiner und beschnitten werden können - welches dann auch überschrieben wird.

          Aber sorum habe ich das noch gar nicht betrachtet...

          1. Schneiden
          2. Verkleinern bzw vergrößern

          Sorum dürfte/könnte das eventuell auch klappen.. Da ja die Offset und neue Bilddaten bekannt sind. Ich weiß halt nicht, ob die Offset-Angaben richtig sind, wenn im Javascript das Bild in der Voransicht dies berücksicht, wenn die Bildgröße dort simuliert vergrößert bzw. verkleinert wird.

          Ich werde das mal so versuchen. Wenn's nicht klappt, werde ich mal eine Demo hochladen... Ich denke, wir reden und denken sonst alle in anderen Ligen.

          Es kommt nicht darauf an, mit dem Kopf durch den Monitor zu rennen,
          sondern mit den Augen das Manual zu lesen.

          Kommentar


          • #6
            http://www.max-3d.de/public/demo.php

            => Demo für die Daten $_POST[''] daten.

            Der wesentliche Teil, sieht bei mir dann so aus:

            PHP-Code:
            #
            #
            ### Resize

                
            $im imagecreatetruecolor($neww,$newh);
                 
            ImageCopyResized($im,$src,0,0,$offset_x,$offset_y,$neww,$newh,$w,$h); 

            Es kommt nicht darauf an, mit dem Kopf durch den Monitor zu rennen,
            sondern mit den Augen das Manual zu lesen.

            Kommentar

            Lädt...
            X