Новости IT, хостинга
  Android, Apple, Facebook, Google, Linux, Microsoft, Samsung, Twitter, Интернет, Россия, браузеры, обновление ПО, онлайн-сервисы, операционные системы, планшеты, рынок ИТ, сделки, смартфоны, социальные сети, уязвимости  
  новостей: 10337
  комментариев: 3005

Представлен формат анимированных изображений XNG, совместимый с существующими браузерами


Джаспер Пьер (Jasper St. Pierre), участвующий в работе над проектами GNOME и Wayland, рассказал о создании нового формата изображений XNG, позиционируемого как улучшенная альтернатива GIF для распространения анимации в Web. По мнению Джаспера GIF является отличным форматом для анимации, но он не лишён недостатков, таких как применение старого алгоритма сжатия LZW, ограниченная цветовая палитра и проблемы с использованием старых изображений в новых местах. Конкурирующие с GIF форматы APNG и MNG имеют проблемы с повсеместным распространением их поддержки.

Для решения этих проблем разработан формат XNG, который из коробки уже поддерживается современными web-браузерами (проверено в Firefox и Chrome), при том, что специально поддержку нового формата в браузеры никто не добавлял. Достаточно вставить на страницу тег "img src=myanimation.xng" и анимированное изображение будет показано, как при указании обычного GIF. На первый взгляд в подобной поддержке усматривается подвох. Но если загрузить один из таких файлов и посмотреть его начинку становится всё понятно.

Файл XNG представляет собой HTML-код, сжатый при помощи gzip. При обнаружении gzip-архива браузер автоматически его распаковывает и разбирает содержимое. Внутри файла представлен SVG-блок, состоящий из набора изображений в формате JPEG, каждое из которых соответствует одному кадру в анимации. Данные каждого изображения упакованы "inline" с указанием данных внутри тега image в кодировке base64 (image A:href="data:image/jpeg;base64,...."). По умолчанию все блоки с изображениями указаны с флагом "visibility=hidden", т.е. не показываются. Отображение кадров производится через набор тегов "set" с установкой межкадровой задержки через атрибут "dur" и поочерёдной смены атрибутов "visible" и "hidden".

Таким образом в XNG по сути является эмуляцией через SVG анимированного JPEG и может работать в большинстве браузеров без необходимости установки плагинов или подключения JavaScript-библиотек. Потери из-за использования кодировки base64 хорошо компенсируются благодаря применению сжатия gzip. В частности, потери от base64 составляют в среднем 33%, после сжатия файл уменьшается примерно на 34% за счёт дополнительного сжатия обилия html-тегов (распакованный файл занимает 7536 Кб, а после сжатия gzip - 4986 Кб).


Источник: opennet.ru

  19 октября 2014 505
Версия для печати

← предыдущая новость следующая новость →

Мой комментарий
Ваше имя*:
Email:
Комментарий*:
Зарегистрироваться автоматически: Вы будете зарегистрированы на сайте автоматически при добавлении комментария. Обязательно заполните поле Email для этого.
Сумма чисел 5 и 13*:            


Хостеры (2435)
HostDB (35)
Софт (2640)
Железо (993)
Интернет (1435)
Статистика и аналитика (3324)


Лучшие новости

Самые читаемые новости

Отправить сообщение администратору

Сумма чисел 18 и 7*:


Яндекс цитирования
сообщить о неточности