2016-04-28 24 views
1

アニメーションgifを作成するためのPHPライブラリが見つかりました。
私は正しい例のコードを編集したと思うが、私はエラーGIFEncoder V2.05: 0 Source is not a GIF image!を得る。Gifencoderclass.phpでアニメーションGIF、ソースではないGIF

このPHPクラスを使用していて、助けてくれる人はいますか?
以下は私が使用したコードです。私は "example"コードをコメントアウトしました。

<?php 

include "GIFEncoder.class.php"; 
/* 
Build a frames array from sources... 

if ($dh = opendir ("frames/")) { 
while (false !== ($dat = readdir ($dh))) { 
    if ($dat != "." && $dat != "..") { 
     $frames [ ] = "frames/$dat"; 
     $framed [ ] = 5; 
    } 
} 
closedir ($dh); 
} 
*/ 
$frames = array("http://www.hoppvader.nu/weatherpics/Windsock1/windsock-10.gif","http://www.hoppvader.nu/weatherpics/Windsock1/windsock-20.gif","http://www.hoppvader.nu/weatherpics/Windsock1/windsock-30.gif"); 
$framed = array(40, 80, 40); 
/* 
    GIFEncoder constructor: 
    ======================= 

    image_stream = new GIFEncoder (
         URL or Binary data 'Sources' 
         int     'Delay times' 
         int     'Animation loops' 
         int     'Disposal' 
         int     'Transparent red, green, blue colors' 
         int     'Source type' 
        ); 
*/ 
$gif = new GIFEncoder (
         $frames, 
         $framed, 
         0, 
         2, 
         0, 0, 0, 
         "url" 
    ); 
/* 
    Possibles outputs: 
    ================== 

    Output as GIF for browsers : 
     - Header ('Content-type:image/gif'); 
    Output as GIF for browsers with filename: 
     - Header ('Content-disposition:Attachment;filename=myanimation.gif'); 
    Output as file to store into a specified file: 
     - FWrite (FOpen ("myanimation.gif", "wb"), $gif->GetAnimation ()); 
*/ 
Header ('Content-type:image/gif'); 
echo $gif->GetAnimation (); 
?> 

答えて

0

代わりGifcreatorを使用する必要があります。私はGIFencoderを使用していないが、私はGIFcreatorを使用している

https://github.com/Sybio/GifCreator

<?php 
    include "GifCreator.php"; 

    // create an array with images 
    $frames = array(imagecreatefromjpeg("pic1.jpg"), 
        imagecreatefromjpeg("pic2.jpg"), 
        imagecreatefromjpeg("pic3.jpg")); 

    // the time each image should be visible in ms 
    $time = array(20,20,20); 

    // create the gif-image 
    $gc = new \GifCreator\GifCreator(); 
    $gc->create($frames, $durations, 0); 

    $gifBinary = $gc->getGif(); 

    header('Content-type: image/gif'); 
    header('Content-Disposition: filename="GIF-image"'); 

    //echo the GIF-image 
    echo $gifBinary; 

?> 

私はそれを示唆した理由、それはあります。

関連する問題