Didi72: Verständnisfrage: GIF-Dateien in JPG umwandeln - möglich ?

Hallo,

ich habe ein kleines Problem: Ist es möglich, da ja die GD (2.x) ja leider nicht mehr das GIF-Format unterstützt, eine GIF-Datei zu öffnen (?) und dann als JPG oder PNG über PHP zu speichern ?
Sinn der Übung wäre, trotz der fehlenden GIF-Unterstützung in den neueren GDs Thumbnails aus GIFs erstellen zu können.
Oder gibt es vielleicht doch noch einen anderen Weg ?

Gruss
Didi72

  1. Hello,

    ich habe ein kleines Problem: Ist es möglich, da ja die GD (2.x) ja leider nicht mehr das GIF-Format unterstützt, eine GIF-Datei zu öffnen (?) und dann als JPG oder PNG über PHP zu speichern ?
    Sinn der Übung wäre, trotz der fehlenden GIF-Unterstützung in den neueren GDs Thumbnails aus GIFs erstellen zu können.
    Oder gibt es vielleicht doch noch einen anderen Weg ?

    Di in PHP 5.x enthaltene Librairy unterstützt wieder GIF-Erzeugung und vieles mehr...

    Harzliche Grüße aus http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau
    1. Hallo Tom,
      leider steht mir aber nur die PHP Version 4.3.3 zur Verfügung, das heisst ich such mit dieser Config eine Lösung...
      Gruss
      Didi72

      1. Hallo und Danke !
        Der Tip von Wahsaga (an dieser Stelle nochmals vielen Dank !) war
        absolut goldrichtig, d.h. mit dieser Konstallation (GIF-Datei
        einlesen und als PNG-Thumb speichern) ist die Realisation auch
        bei GDs über 1.6x trotz fehlender GIF-Unterstützung - diese fehlt
        anscheinend nur teilweise, d.h. lesen möglich - nur schreiben nicht,
        möglich. Bevor dieser Thread noch weiter "ausufert" (siehe Gunnar) -
        natürlich werde ich nicht die Thumbs dynamisch bei jedem
        Seitenaufruf neu erstellen, sondern direkt bei dem Upload der
        Bilddatei. Da diese aber nicht von meiner Person sondern von Dritten
        hochgeladen werden, wäre der "lokale" Weg nicht umsetzbar.
        Natürlich hat Tom übrigens auch recht, das bei kleinen Sites mit
        nicht massenhaften Zugriffen eine Thumbnail-Erstellung "on-the-fly"
        durchaus Sinn machen kann - auch die Serverbelastung bleibt dabei
        im Rahmen.
        Für alle Interessierten will ich den Code nicht verheimlichen:
        [code=php]
        <?php
        $dateiname = "test.gif";
        $bildpfad = "";
        $bildpfad_small = "test/";

        $function_image_create = "ImageCreateFromGif";
           $function_image_new = "ImagePNG";

        $size = getimagesize("$bildpfad"."$dateiname");
            $breite = $size[0];
            $hoehe = $size[1];

        if ($breite > $hoehe)
          {
            if ($breite >= 126) $neueBreite01 = 125;
          if ($breite <= 125) $neueBreite01 = $breite;
            $neueHoehe01 = intval($hoehe*$neueBreite01/$breite);
          }
          if ($breite < $hoehe)
          {
            if ($hoehe >= 126) $neueHoehe01 = 125;
          if ($hoehe <= 125) $neueHoehe01 = $hoehe;
            $neueBreite01 = intval($breite*$neueHoehe01/$hoehe);
          }
          if ($breite == $hoehe)
          {
            if ($breite >= 126) $neueBreite01 = 125;
          if ($breite <= 125) $neueBreite01 = $breite;
            $neueHoehe01 = intval($hoehe*$neueBreite01/$breite);
          }
          $altesBild=$function_image_create("$bildpfad"."$dateiname");
            $neuesBild01=ImageCreateTrueColor($neueBreite01,$neueHoehe01);
            ImageCopyResized($neuesBild01,$altesBild,0,0,0,0,$neueBreite01, $neueHoehe01,$breite,$hoehe);
            $function_image_new($neuesBild01,"$bildpfad_small"."name_des_thumbs.png");
        ?>
        [/code]

        So, nochmals vielen Dank !

        Gruss
        Didi72

  2. hi,

    Ist es möglich, da ja die GD (2.x) ja leider nicht mehr das GIF-Format unterstützt, eine GIF-Datei zu öffnen (?) und dann als JPG oder PNG über PHP zu speichern ?
    Sinn der Übung wäre, trotz der fehlenden GIF-Unterstützung in den neueren GDs Thumbnails aus GIFs erstellen zu können.

    je nach konfiguration kann die GDlib für gif manchmal auch nur lese-unterstützung bieten.
    d.h. du könntest mit imagecreatefromgif() ein gif einlesen, bearbeiten und als jpg oder png wieder ausgeben (png wäre vielleicht eher geeignet).

    schau doch mal nach, ob das bei deiner version der fall ist - phpinfo() gibt auskunft.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
  3. Didi72,

    Sinn der Übung wäre, trotz der fehlenden GIF-Unterstützung in den neueren GDs Thumbnails aus GIFs erstellen zu können.

    Nein, die Übung hat IMHO keinen Sinn.

    Du willst bei jeder Anfrage dynamisch durch den Server die Thumbnails neu erstellen lassen? Wenn dabei mal der Leser deiner Seite beim Warten nicht einschläft …

    Der bessere Weg ist, die Thumbnails mit dem Grafikprogramm deiner Wahl zu erstellen und auf dem Server abzulegen.

    Gunnar

    --
    “I got my finger on the trigger / But I don’t know who to trust” (Bruce Springsteen, Devils and Dust)
    1. Hello Gunnar,

      Du willst bei jeder Anfrage dynamisch durch den Server die Thumbnails neu erstellen lassen? Wenn dabei mal der Leser deiner Seite beim Warten nicht einschläft …

      Es gibt inzwischen schon schnellere Rechner als 486DX2 mit 64MB RAM, nur für den Fall, dass Du das übersehen hast.

      Selbstverständlich sollte man redundante Operationen vermeiden und das Thumb nur beim ersten Zugriff darauf berechnen lassen. Aber warum nicht automatisch auf dem Server? Wenn das Orioginalbild nicht gerade 16MPixel hat...

      Harzliche Grüße aus http://www.annerschbarrich.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      Nur selber lernen macht schlau