2011-12-02 172 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 –