2013-11-14 3 views
6

Интересно, есть ли способ предотвратить браузер от фактического анимации анимированного gif, загруженного в тег <img>. Я просто хочу, чтобы он отображал первый кадр gif и не воспроизводил анимацию.Можно загрузить анимированный gif без воспроизведения анимации?

Я уже боюсь, что это невозможно, и я должен извлечь первый кадр и вынести его на холст ...:/

+0

Зачем вам нужен холст? – PeeHaa

+0

Поскольку тег canvas будет единственным способом визуализации первого кадра анимированного gif. –

+0

Возможно ли это сделать на стороне сервера? PHP-модуль GD будет загружать только первый фрейм GIF по умолчанию, например – Bojangles

ответ

2

Это своего рода дорогое решение, но если вы сбрасываете SRC изображения на очень короткий setInterval он появляется как статические, например:

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

Демо: http://jsfiddle.net/MEaWP/6/

0

может быть, это слишком просто ответ для вас, но вы можете просто открыть анимированный GIF в программе для редактирования изображений по вашему выбору, т.е. Adobe Photoshop или любой другой бесплатный , а затем просто сохраните GIF без анимации.

Затем повторно загрузите новый GIF (без анимации) туда, где вы обслуживаете свои изображения.

Если вы используете Photoshop, вы можете просто открыть файл. GIF и перейти в окно> Анимация в меню. Это отобразит все кадры в анимированном GIF в новом диалоговом окне.

Просто удалите все кадры и сохраните как. Просто не перезаписывайте оригинал анимацией, если вам это еще нужно.

+0

Его не ясно написано в моем первоначальном вопросе, но решение должно работать в браузере, так как я не управляю изображениями gif , Пользователи загружают их. –

Смежные вопросы