Bild drehen

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

  • Bild drehen

    Hallo,

    ich versuche seit mehr als 10 Stunden vergeblich, ein Bild zu drehen. Das Bild wurde mit Php hochgeladen. Das hat funktioniert. Das Bild liegt jetzt im Ordner
    Code:
    uploads/files/
    und heißt
    Code:
    2012-06-02_10-42-08_21.jpg
    Von der Uploadseite wird man auf eine weiter Seite weiter geleitet, auf der das Bild angezeigt wird (funktioniert) und wo man angeben soll, ob das Bild gedreht werden soll. Von da aus geht es auf eine dritte Seite. Und mit der komme ich nicht weiter. Hier soll das Bild entsprechend gedreht dargestellt werden. Im Post-Array wurde die Bildadresse und der Drehwinkel übergeben.
    PHP-Code:
    $new_path=$_POST['Bild'];
    $Drehung=$_POST['Drehung'];​ 
    $Drehung kann den Wert 0, 90,180 oder 270 haben.

    Auch das funktioniert.
    PHP-Code:
    echo $new_path."<br />\n";
    echo 
    $Drehung."<br />\n";
    ​ 
    erzeugt
    uploads/files/2012-06-02_10-42-08_21.jpg
    90​
    Ab hier habe ich keine Ahnung, ob das sinnvoll und richtig ist, was ich mache. Offensichtlich wird in den vielen Manuals und Beschreibungen, die ich gelesen habe, etwas vorausgesetzt, das ich nicht weiß.

    Ich erzeugte mit
    PHP-Code:
    $GD_Bild imagecreatefromjpeg($new_path); 
    ein GD-Image, was auch immer das ist.
    Dann drehe ich mit
    PHP-Code:
    $rotate imagerotate($GD_Bild$Drehung0); 
    dieses GD-Image.

    Aber wie geht es weiter? Am Bild uploads/files/2012-06-02_10-42-08_21.jpg wurde ja nichts verändert. Die Manuals enden hier größtenteils. Wenn welche weiter gehen, erzeugt der Rest nur Fehlermeldungen.

    Das Bild uploads/files/2012-06-02_10-42-08_21.jpg soll mit dem um 90° gedrehten Bild überschrieben werden.

    Ich hoffe, das kann mir jemand so erklären, dass auch ich es verstehe. Ein Beispiel, bei dem so was gemacht wird, ohne dass dabei Datenbänke gefüllt, EXIF-Daten ausgelesen, Formate konvertiert werden usw. hilft mit vielleicht auch schon.

    Ich habe gelesen, dass ich mit
    PHP-Code:
    imagedestroy($source);
    imagedestroy($rotate);​ 
    den Speicher wieder freigeben muss. Aber davor fehlt wohl noch einiges.

  • #2
    Einfach mal in der PHP-Doku (ja, die gibt es tatsächlich) nachsehen, da findet man auch ganz viele Beispiele

    https://www.php.net/manual/de/function.imagejpeg.php

    Kommentar


    • #3
      Danke. In der PHP-Doku habe ich stundenlang gelesen. Aber die nützt leider nur etwas, wenn man die Lösung schon kennt. Man muss erst wissen, dass imagejpeg die gesuchte Funktion ist, dann kann man sich darüber informieren. Jetzt funktioniert alles wie gewünscht.

      Kommentar


      • #4
        Zitat von Friedel Beitrag anzeigen
        Danke. In der PHP-Doku habe ich stundenlang gelesen.
        Das glaub ich nicht
        Zitat von Friedel Beitrag anzeigen
        Aber die nützt leider nur etwas, wenn man die Lösung schon kennt. Man muss erst wissen, dass imagejpeg die gesuchte Funktion ist
        Völlig falsch!

        Siehe https://www.php.net/manual/de/ref.image.php
        imagejpeg — Gibt das Bild im Browser oder einer Datei aus.
        Wer lesen kann ist klar im Vorteil.


        Kommentar


        • #5
          Danke, ich habe es sehr hilfreich gelesen.
          Zuletzt geändert von ; 03.01.2024, 07:50.

          Kommentar

          Lädt...
          X