+7

Сделать метку ANIM для анимированных GIF/APNG, убрать метку GIF

Анонимный 8 лет назад обновлен 7 лет назад 2

Так как порой видишь метку GIF, а за ней ничего, кроме криво пережатой картинки, надежды о анимации не оправдываются.

+1

Как это сделать:


1. Для формата GIF просто можно выполнить `identify file.gif` из пакета ImageMagick, и если в выхлопе будут квадратные скобочки вида file[2] - оно анимировано, где номер - номер кадра. Декодирования файла не происходит, операция безопасна в плане потребления памяти и ресурсов. Или воспользоваться практически любой библиотекой работы с изображениями, но они могут декодить содержимое картинки.


2. Для формата APNG просто найти внутри файла подстроку "acTL" и если охота количество кадров - посчитать количество строк "fdAT"


3. Для формата WebP просто найти внутри файла подстроку "ANIM" и если охота количество кадров - посчитать количество строк "ANMF".


Количество кадров можно выводить рядом с размерами файла.


Тестировать:


http://littlesvr.ca/apng/gif_apng_webp3.html


Ссылки:


https://developers.google.com/speed/webp/docs/riff_container

http://littlesvr.ca/apng/gif_apng_webp.html

http://littlesvr.ca/apng/


Предположительное время запиливания фичи:


15 минут

Сервис поддержки клиентов работает на платформе UserEcho