Ankündigung

Einklappen
Keine Ankündigung bisher.

.jpg Bilder in EIN .gif umwandeln

Einklappen

Neue Werbung 2019

Einklappen
Dieses Thema ist geschlossen.
X
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • .jpg Bilder in EIN .gif umwandeln

    Hi
    habe einen ordner in dem schon .jpg bilder sind die so wie sie sind "einfach" als .gif zusammengeführt werden sollen.
    Habe bereits folgendes programmiert:
    PHP-Code:
    <?php
    /***************************************************************************
    *Erstellt: 11.06.2008 / VON Reaver
    *Geändert: DATUM ZEIT / VON
    *Giferstellung aus .jpg Dateien, Ordner wird vorgegeben.

    ***************************************************************************/

    $array=array();

    function 
    get_dir($dir)
    {
        global 
    $array;
        
    $fp=opendir($dir);
        while(
    $datei=readdir($fp))
        {
            
    $path_parts pathinfo($datei);
            
    $endung=".".$path_parts["extension"];
            
            if (
    $endung=".jpg"&& !(is_dir($fp))&& $datei!="." && $datei!="..")
            {
                
    $array[]=$datei;
                
            }
            
        }
        
    sort($array);
        
    print_r($array);
    }
    get_dir("C:/xampp/htdocs/projekte/Gif erstellen/GIF/")
    ?>
    Die .jpg haben als namen ein Datum. Ich soll die Bilder von alt nach neu als .gif zusammenführen im Array steht bei mir jetzt das:

    Array
    (
    [0] => 2007_10_04_geomap.jpg
    [1] => 2007_10_12_geomap.jpg
    [2] => 2007_10_20_geomap.jpg
    [3] => 2007_10_27_geomap.jpg
    [4] => 2007_11_03_geomap.jpg
    [5] => 2007_11_10_geomap.jpg
    [6] => 2007_11_17_geomap.jpg
    [7] => 2007_11_24_geomap.jpg
    [8] => 2007_12_01_geomap.jpg
    [9] => 2007_12_08_geomap.jpg
    [10] => 2007_12_15_geomap.jpg
    [11] => 2007_12_22_geomap.jpg
    [12] => 2007_12_29_geomap.jpg
    [13] => 2008_01_06_geomap.jpg
    [14] => 2008_01_13_geomap.jpg
    [15] => 2008_01_20_geomap.jpg
    [16] => 2008_01_27_geomap.jpg
    [17] => 2008_02_03_geomap.jpg
    [18] => 2008_02_10_geomap.jpg
    [19] => 2008_02_17_geomap.jpg
    [20] => 2008_02_24_geomap.jpg
    [21] => 2008_03_02_geomap.jpg
    [22] => 2008_03_09_geomap.jpg
    [23] => 2008_03_16_geomap.jpg
    [24] => 2008_03_23_geomap.jpg
    [25] => 2008_03_30_geomap.jpg
    [26] => 2008_04_06_geomap.jpg
    [27] => 2008_04_13_geomap.jpg
    [28] => 2008_04_20_geomap.jpg
    [29] => 2008_04_27_geomap.jpg
    [30] => 2008_05_07_geomap.jpg
    [31] => 2008_05_14_geomap.jpg
    [32] => 2008_05_21_geomap.jpg
    [33] => 2008_05_28_geomap.jpg
    [34] => 2008_06_04_geomap.jpg
    )
    wie man sieht ist alles schon richtig im Array drinne. Hab mal ein wenig gegooglet aber nicht wirklich was gefunden womit ich mit php ein gif erstellen kann. Oft war von Flash die rede, aber ich habe davon noch weniger Ahnung als von PHP Gibts eine Möglichkeit ein Gif aus meinen jpg dateien zu erstellen?


  • #2
    Manual, da werden sie geholfen: PHP: Image - Manual

    Kommentar


    • #3
      hey du kommst aus meiner nähe *g*
      Naja da hab ich schon geschaut und auch schon im internet geschaut. Aber damit ist es nur möglich EIN .jpg in EIN .gif umzuwandeln, aber ich möchte gerne
      20 .jpg in 1 .gif umwandeln

      Kommentar


      • #4
        Wieso, wo kommstn her?

        Du willst ne Art Collage machen oder wie?

        Kommentar


        • #5
          aus borgholzhausen komme ich =)
          Ne hab mehrere BIlder die ein animiertes gif werden sollen. Auf den Bildern ist ne Deutschlandkarte mit ballungsgebieten, die sich mit der Zeit verändern und das möchte ich halt als .gif haben =). Das ist aber nur ein Beispiel von Bildern die ich grade habe. Ich brauche halt n script dass das für spätere Bilder auch macht.

          Kommentar


          • #6
            Animierte GIFs mit PHP zu erstellen ist AFAIK nicht möglich.
            Du kannst dir höchstens die GIF-Spezifikationen durchlesen
            http://www.w3.org/Graphics/GIF/spec-gif89a.txt
            und dann selbst per Hand das Bild erzeugen. Dann musst du allerdings die Lizenz an UniSys bezahlen.
            sigpic

            Kommentar


            • #7
              Man könnte sowas auch mit JavaScript machen

              Kommentar


              • #8
                ja den tipp hab ich auch bekommen aber habe von javascript noch weniger ahnung als von php, nämlich keine
                Habe auch schon diesen vorschlag bekommen:
                PHP-Code:
                 <img id="test" src="">
                <script language="text/javascript">
                var images = <?php echo json_encode(get_dir("C:/xampp/htdocs/projekte/Gif erstellen/GIF/")); ?>;
                var offset = 0;
                    function changeImage() 
                    {
                          document.getElementById('test').src = images[offset];
                        offset++;
                        if(offset < images.lenght) 
                        {
                        window.setTimeout('changeImage', 1000);
                        }
                    }

                changeImage();

                </script>
                aber der funktioniert leider nicht

                Kommentar


                • #9
                  Um animierte gifs zu erstellen, musst du die meines Wissens jedes Bild als einen eigenen Layer eines Formates, das Layers kennt (psd, xcf, etc) erstellen, und dann als (animiertes) gif speichern. Ich vermute, dass das mit imagemagick möglich wäre. Das kannst du über Systemfunktionen aufrufen. Es gibt auch noch eine pecl-Klasse dazu, mit der man imagemagick-Funktionen direkt aus PHP benutzen kann.
                  Gruss
                  L

                  Kommentar


                  • #10
                    über imagemagick bin ich auch schon gestoßen, da ich aber noch ein Neuling in php bin steh ich da vor einer hohen wand^^

                    Kommentar


                    • #11
                      Also ich gehe jetzt mal von deinem Code aus den du oben gepostet hast, also ein Array mit den Grafiken ist vorhanden.

                      Als Ansatz:
                      PHP-Code:
                      <?
                      $adresse = "/images";
                      ?>
                      <script type="text/javascript">
                      var imgarray;
                      <?
                        foreach($array as $key => $dateiname)
                        {
                          echo "imgarray[$key] = '$adresse/$dateiname';"; // übergabe der Variablen an Javascript
                        }
                      ?>
                      </script>

                      Kommentar


                      • #12
                        thx bin kurz davor es zu haben mit imagemagick
                        PHP-Code:
                        <?php
                        /***************************************************************************
                         *Erstellt: 11.06.2008 / VON Reaver
                         *Geändert: DATUM ZEIT / VON
                         *Giferstellung aus .jpg Dateien, Ordner wird vorgegeben.
                         *
                         ***************************************************************************/

                        $array=array();
                        $i=1;
                        $j=1;
                        function 
                        convert_all($dir)
                        {
                            global 
                        $array,$i;
                            
                        $fp=opendir($dir);
                            
                            while(
                        $datei=readdir($fp))
                            {
                                
                                
                        $path_parts pathinfo($datei);
                                
                        $endung=".".$path_parts["extension"];
                                if (
                        $endung=".jpg"&& !(is_dir($fp))&& $datei!="." && $datei!="..")
                                {
                                    
                                    
                        $array[]=$datei;
                                    
                        $i++;        
                                }
                                
                            }
                            
                        $anzahl=count($array);
                            
                        sort($array);
                            for (
                        $i=1$i<$anzahl+1$i++) 
                            {
                            
                        rename($dir.$array[$i-1],$dir."Bild ".$i.".gif");
                            
                        $command "C:\\Program Files\\ImageMagick-6.4.1-Q16\\convert -delay 250 -loop 1 gifname*.gif endbild.gif";
                            
                        $output shell_exec($command);
                            }
                        }
                        function 
                        convert_Jpg_to_Gif($dir
                        {
                            
                        $dir substr($dir, -1) === '/' $dir $dir '/';
                           
                            
                        delete_old_files($dir);
                            
                            
                        $fp=opendir($dir);
                            
                        mkdir ($dir ."neu/"0700);
                            while(
                        $datei=readdir($fp)) 
                            {
                                
                        $path_parts pathinfo($datei);
                                
                        $endung=".".$path_parts["extension"];
                                if (
                        $endung=".jpg"&& !(is_dir($fp))&& $datei!="." && $datei!=".."&&$endung !="." && $endung!=".."
                                {
                                    
                        $jpg imagecreatefromjpeg($dir $datei);
                                    
                        $gifName $dir ."neu/"preg_replace('#.jpg$#msi''.gif'$datei);
                                    
                        imagegif($jpg$gifName);
                                    
                        imagedestroy($jpg);
                                    echo 
                        $dir $datei ' wurde als ' $gifName ' neu gespeichert.<br />';
                                    
                        $j++;
                                }
                            }
                            
                        convert_all("./GIF/neu/");
                        }

                        function 
                        delete_old_files($dir)
                        {
                            
                        $newdir=$dir."neu/";
                            
                        $handle opendir($newdir);
                            while (
                        $file readdir ($handle))
                            { 
                                 if(
                        strstr($file".gif"))
                                {
                                    
                                     
                        unlink($newdir.$file);
                                     
                                  }
                            }
                            
                        closedir($handle);
                            
                        rmdir($newdir);
                        }

                        convert_Jpg_to_Gif("./GIF/");  
                        ?>
                        Problem ist jetzt noch an der Stelle
                        PHP-Code:
                        $command "C:\\Program Files\\ImageMagick-6.4.1-Q16\\convert -delay 250 -loop 1 gifname*.gif endbild.gif";
                            
                        $output shell_exec($command); 
                        Kumpel hat unter "cmd" bei windows das hinbekommen damit aus allen .gifs die ich erstellt habe ein animiertes .gif zu machen =)
                        Nur ich kriege es grade nich hin.
                        Wenn ihr euch fragt wieso ich alte Dateien lösche, das kommt daher weil das .gif immer erweitert wird also hab ich einen ordner namens neu gemacht in dem die .jpg's immer in .gif umgewandelt werden. Soll ein neues .gif erstellt werden so werden alle alten .gif gelöscht und die .jpg werden nochmal komplett neu umgewandelt.

                        Kommentar


                        • #13
                          Crossposting, Thread geschlossen.
                          "Mein Name ist Lohse, ich kaufe hier ein."

                          Kommentar

                          Lädt...
                          X