2011-12-02 37 views
6

Sử dụng PHP (GD hoặc ImageMagick) Tôi muốn kết hợp gif động với jpg và giữ lại hoạt ảnh của gif, sản phẩm là hình động gif.Với PHP, có thể hợp nhất một ảnh động gif bằng jpg và giữ lại hoạt ảnh gif không?

Nói cách khác, tôi có một gif động là 500px x 30px và cần nằm trên đầu trang của một jpg có kích thước 500px x 500px, kết quả cuối cùng là một gif động duy nhất.

Vì vậy, một lần nữa, bất cứ ai biết nếu nó có thể hợp nhất một gif động với một jpg và giữ lại các hình ảnh động gifs?

+1

Điều này có cần phải được thực hiện động hoặc đây có phải là điều một lần không? –

+7

Điều này chắc chắn sẽ yêu cầu bạn tách tất cả các khung hình khỏi hoạt ảnh của bạn, sau đó áp dụng JPG ở đầu mỗi khung hình, và sau đó, bạn sẽ phải xây dựng lại GIF của mình. – jValdron

+1

Vì mục đích nào bạn cần làm? Chức năng này cần gì để có thể phục vụ? – Spags

Trả lời

1

Look Imagick::animateImages method, mẫu 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); 

?> 

Nếu bạn chỉ sử dụng một gif, bạn có thể lưu nó tách ra vào một thư mục, sau đó hợp nhất hình ảnh riêng biệt với một thao tác GD đơn giản (một trong những ý kiến ​​here), và sau khi sử dụng đoạn mã trên để tạo Gif mới.

+0

nơi tải tệp mở rộng Imagick cho Windows? –

+0

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

Các vấn đề liên quan