2013-11-14 22 views
6

Tôi tự hỏi liệu có cách nào để ngăn trình duyệt thực sự tạo hoạt ảnh gif động, được tải trong thẻ <img> hay không. Tôi chỉ muốn nó hiển thị khung hình đầu tiên của gif và không phát hình động.Có thể tải một ảnh gif động mà không phát hoạt ảnh?

Tôi đã sợ rằng điều này là không thể và tôi phải trích xuất các frame đầu tiên và làm cho nó một bạt ...:/

+0

Tại sao bạn cần canvas cho điều đó? – PeeHaa

+0

Vì thẻ canvas sẽ là cách duy nhất để hiển thị khung đầu tiên của gif động. –

+0

Có thể thực hiện điều này ở phía máy chủ không? Mô-đun GD của PHP sẽ chỉ tải khung hình đầu tiên của GIF theo mặc định, ví dụ: – Bojangles

Trả lời

2

Đây là kinda một giải pháp đắt tiền, nhưng nếu bạn thiết lập lại hình ảnh SRC trên một setInterval rất ngắn nó xuất hiện ví dụ như tĩnh:

setInterval(function() { 
     document.getElementById('img1').src = document.getElementById('img1').src 
},1) 

Demo: http://jsfiddle.net/MEaWP/6/

0

có lẽ đây là quá đơn giản một câu trả lời cho bạn, nhưng bạn chỉ có thể mở GIF động trong một chương trình chỉnh sửa hình ảnh của sự lựa chọn của bạn, tức là Adobe Photoshop hoặc bất kỳ ứng dụng miễn phí nào khác và sau đó chỉ cần lưu GIF mà không có hoạt ảnh.

Sau đó tải lên lại GIF mới (không có hoạt ảnh) đến bất cứ nơi nào bạn đang phân phối hình ảnh của mình.

Nếu bạn sử dụng Photoshop, bạn chỉ cần mở tệp.GIF và đi tới Cửa sổ> Hoạt ảnh trong Menu. Điều này sẽ hiển thị tất cả các khung trong GIF động trong một hộp thoại mới.

Chỉ cần xóa tất cả các khung và Lưu dưới dạng. Chỉ cần không ghi đè lên bản gốc bằng hoạt ảnh nếu bạn vẫn cần điều đó sau.

+0

Nó không được viết rõ ràng trong câu hỏi ban đầu của tôi nhưng giải pháp nên được làm việc trong trình duyệt, vì tôi không kiểm soát hình ảnh gif . Người dùng tải chúng lên. –

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