Ankündigung

Einklappen
Keine Ankündigung bisher.

Bildausschnitt speichern

Einklappen

Neue Werbung 2019

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

  • Bildausschnitt speichern

    Hi,

    wie kann ich aus einem Bild einen Ausschnitt abspeichern.
    Mir sind die x,y Positionen sowie width und height des Ausschnittes bekannt.

    Mfg

    harego

  • #2
    Das geht zum Beispiel per gd-Erweiterung.
    Neues Bild mit den Abmaßen des Ausschnitts erstellen.
    Bereich vom "Vollbild" in das "Ausschnitt-Bild" kopieren.
    "Ausschnitt-Bild" speichern oder ausgeben.

    Kommentar


    • #3
      Danke für den Tip.

      Habe mir da diese Script kopiert.

      PHP-Code:

      $img 
      imagecreatefromjpeg('test.jpg');
      $w imagesx($img);
      $h imagesy($img);

      $pos_x 200;
      $pos_y 200;
      $w_out 100;
      $h_out 100;

      $trans imagecolortransparent($img);
      if(
      $trans >= 0) {

      $rgb imagecolorsforindex($img$trans);

      $oldimg $img;
      $img imagecreatetruecolor($wout,$hout);
      $color imagecolorallocate($img,$rgb['red'],$rgb['green'],$rgb['blue']);
      imagefilledrectangle($img,$pos_x,$pos_y,$wout,$hout,$color);
      imagecopy($img,$oldimg,0,0,$pos_x,$pos_y,$wout,$hout);

      }

      imagejpeg($img,'out.jpg'); 
      Es wird auch ein Bild kopiert. Aber das ist genau so groß und hat den gleichen Inhalt.!?


      MfG

      harego

      Kommentar


      • #4
        Du solltest immer mit error_reporting=E_ALL entwickeln und Dir die "erzeugten" Fehler- und Warnmeldungen ansehen.
        Versuch es nochmal mit
        PHP-Code:
        error_reporting(E_ALL);
        ini_set('display_errors'1);

        $img imagecreatefromjpeg('test.jpg');
        ... 

        Kommentar


        • #5
          Habe ich gemacht, aber es kommt keine Fehlermeldung.

          Kommentar


          • #6
            Das ist sehr eigenartig, da Du
            $w_out = 100;
            $h_out = 100;
            ...
            imagecopy($img,$oldimg,0,0,$pos_x,$pos_y,$wout,$hout);
            im Skript zu stehen hast und das mindestens zwei "undefined variable"-Meldungen erzeugen sollte.
            Tut das Skript überhaupt etwas oder wird es gar nicht erst ausgeführt, weil ein parse error/Syntaxfehler vorliegt?
            PHP-Code:
            <?php
            echo 'diese ini-Datei ändern: ' get_cfg_var('cfg_file_path');
            ?>
            Dieses Skript zeigt Dir an, welche php.ini Du auf Deinem Entwicklungsserver anpassen solltest. Dort nach den Parametern
            error_reporting, display_errors, display_startup_errors suchen und ändern. Zeilen mit einem Semikolon am Anfang sind Kommentare und in diesem Fall irrelevant.
            Folgende Werte setzen
            Code:
            error_reporting = E_ALL
            display_errors = On
            display_startup_errors = On
            Danach den Webserver neu starten.
            display_startup_errors sorgt dafür, dass auch Syntaxfehler im Browser angezeigt.

            Kommentar

            Lädt...
            X