2011-12-02 81 views
6

使用PHP(GD或ImageMagick)我想合併一個動畫gif和一個jpg,並保留gif的動畫,該產品是一個動畫gif。使用PHP,是否可以合併動畫GIF與JPG並保留GIF動畫?

換句話說,我有一個500px x 30px的動畫gif,需要放在500px x 500px的jpg頂部,最終結果是一個單獨的動畫gif。

那麼,任何人都知道是否可以合併動畫GIF和JPG並保留GIF動畫?

+1

這是需要動態完成還是這是一次性的事情? –

+7

這肯定會要求您將動畫中的所有幀分開,然後在每個幀的頂部應用JPG,之後,您必須重新構建GIF。 – jValdron

+1

你需要做什麼?這需要能夠提供什麼功能? – Spags

回答

1

Imagick::animateImages method,gomadurai樣本:

<?php 

$multiTIFF = new Imagick(); 

$mytifspath = "./man"; // your image directory 

$files = scandir($mytifspath); 

//print_r($files); 

/*foreach($files as $f) 
{*/ 

for($i=2;$i<6;$i++) 
{ 
    echo $files[$i]; 

    echo "<br>"; 
    $auxIMG = new Imagick(); 
    $auxIMG->readImage($mytifspath."/".$files[$i]); 

    $multiTIFF->addImage($auxIMG); 
} 

//file multi.TIF 
$multiTIFF->writeImages('multi423432.gif', true); // combine all image into one single image 

//files multi-0.TIF, multi-1.TIF, ... 
$multiTIFF->writeImages('multi.gif', false); 

?> 

如果只使用一個GIF,你可以將它保存分裂的一個文件夾,然後用一個簡單的GD操作合併分離後的圖像(評論here之一)並在使用上面的代碼創建新的Gif之後。

+0

在哪裏可以得到Imagick擴展DLL的Windows? –

+0

@dan_l for php http://www.php.net/manual/en/imagick.requirements.php –