fritz85: Convert JPEG to GIF

Hallo zusammen!

Ja ich habe das Forum durchsucht jedoch werd ich aus diesen Antworten nicht schlau...!

Mein IST-Zustand:

Ich habe ein Uploadformular erstellt. Mann kann JPEG und GIF Dateien uploaden. Diese werden dann auch gleich verkleinert zu Thumbnails.

Sobald man 3 Bilder geuploadet hat erscheint ein Button "Animation ansehen".

Nun erstellt mir die gif Klasse eine *.gif Animation. Jedoch funktioniert diese nur wenn *.gif Dateien im Ordner sind.
Falls ein JPEG erscheint geht es nicht mehr.

Da ich die Klasse nicht umbauen kann bzw. (mein Wissen nicht ausreicht) möchte ich folgendes umsetzen:

Falls eine JPEG Datei geuploadet wird soll sie zu einer *.gif Datei konvertiert werden. Habe da auf der phpclasses website ein imageconvert script gefunden jedoch funktioniert das nicht. Kann mir da jemand helfen oder hat jemand schon Erfahrungen damit gemacht?

Gruss
firtz85

  1. Hello,

    Nun erstellt mir die gif Klasse eine *.gif Animation. Jedoch funktioniert diese nur wenn *.gif Dateien im Ordner sind.

    Ich hätte gerne die Klasse.

    Falls ein JPEG erscheint geht es nicht mehr.

    Falls eine JPEG Datei geuploadet wird soll sie zu einer *.gif Datei konvertiert werden.

    Hast Du die GD-Lib-Funktionen in deinem PHP zur Verfügung?

    http://de.php.net/manual/en/ref.image.php

    Pixel-Image aud dem jpg erzeugen lassen
    http://de.php.net/manual/en/function.imagecreatefromjpeg.php
    Gif aus dem Pixel-Imaage wegschreiben lassen
    http://de.php.net/manual/en/function.imagegif.php

    Wenn man nicht skalieren muss, ist es einfach, sonst aber auch noch erträglich.
    Du benötigst nur ordentlich viel Speicher, wenn das JPG etwas größer wird.

    Ein harzliches Glückauf

    Tom vom Berg

    http://bergpost.annerschbarrich.de

    --
    Nur selber lernen macht schlau
    1. Moin

      Du benötigst nur ordentlich viel Speicher, wenn das JPG etwas größer wird.

      hinzugefügt sei bemerkt, das hier die Abmaße gemeint sind.

      Auch ein JPG-Bild mit einer Dateigröße die weit unterhalb deines Memory-Limit liegt, welches aber eine großen Abmessung besitzt, kann dein Memory-Limit sprengen.

      Gruß Bobby

      --
      -> Für jedes Problem gibt es eine Lösung, die einfach, sauber und falsch ist! <-
      -> Nicht das Problem macht die Schwierigkeiten, sondern unsere Sichtweise! <-
      ie:{ br:> fl:{ va:} ls:< fo:) rl:( n4:( de:> ss:) ch:? js:( mo:} sh:) zu:)
      1. Hello,

        hinzugefügt sei bemerkt, das hier die Abmaße gemeint sind.

        Auch ein JPG-Bild mit einer Dateigröße die weit unterhalb deines Memory-Limit liegt, welches aber eine großen Abmessung besitzt, kann dein Memory-Limit sprengen.

        Danke Bobby, genauso war es gemeint. Denn Pixel ist Pixel, egal wie komprimiert es vorher war ;-)

        Ein harzliches Glückauf

        Tom vom Berg

        http://bergpost.annerschbarrich.de

        --
        Nur selber lernen macht schlau
    2. Hallo

      Ich hätte gerne die Klasse.

      Hier der direktlink:
      http://www.phpclasses.org/browse/download/1/file/17972/name/GIFEncoder.class.php

      :-)

      Hast Du die GD-Lib-Funktionen in deinem PHP zur Verfügung?

      Jap

      $res = copy($userfile, $path . $userfile_name);
      $img = LoadJpeg($path . $userfile_name);
      header("Content-type: image/gif");
      imagegif($img, $path . $userfile_name);

      Was ist denn nun hier falsch?

      Er lädt mir das normale JPEG hoch... als Fehlermeldung kommt:

      headers already send..?

      1. $res = copy($userfile, $path . $userfile_name);
        $img = LoadJpeg($path . $userfile_name);
        header("Content-type: image/gif");
        imagegif($img, $path . $userfile_name);

        function LoadJpeg($imgname)
        {
            $im = @imagecreatefromjpeg($imgname); /* Attempt to open */
            if (!$im)
         {             /* See if it failed */
                $im  = imagecreatetruecolor(80, 120); /* Create a black image */
                $bgc = imagecolorallocate($im, 255, 255, 255);
                $tc  = imagecolorallocate($im, 0, 0, 0);
                imagefilledrectangle($im, 0, 0, 150, 30, $bgc);
                /* Output an errmsg */
                imagestring($im, 1, 5, 5, "Error loading $imgname", $tc);
            }
            return $im;
        }