2011-12-02 17 views
6

Używanie PHP (GD lub ImageMagick) Chcę połączyć animowany GIF z JPG i zachować animację GIF, produkt będący animowanym gifem.Z PHP, czy można połączyć animowany GIF z JPG i zachować animację GIF?

Innymi słowy, mam animowany gif, który ma 500px x 30px i musi znajdować się na górze jpg to 500px x 500px, a efekt końcowy to jeden animowany gif.

Zatem, czy ktoś wie, czy można połączyć animowany GIF z JPG i zachować animację GIF?

+1

Czy należy to robić dynamicznie, czy jest to jednorazowa sprawa? –

+7

To z pewnością wymaga odseparowania wszystkich klatek od animacji, a następnie zastosowania JPG w górnej części każdej klatki, a następnie trzeba będzie odbudować GIF. – jValdron

+1

W jakim celu chcesz to zrobić? Jaką funkcję musi spełniać ta funkcja? – Spags

Odpowiedz

1

Look Imagick::animateImages method, próbka 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); 

?> 

Jeśli używasz tylko jednego gif, można zapisać to podzielony na folder, a następnie połączyć rozdzielonych obrazów z prostą manipulacją GD (jeden z komentarzy here) i po użyciu powyższego kodu, aby utworzyć nowy Gif.

+0

gdzie można uzyskać rozszerzenie biblioteki Imagick dla Windows? –

+0

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