суббота, 16 мая 2009 г.

Чего мне не хватает в GIF

Все форматы изображений по-своему хороши.
Но помимо достоинств у каждого формата есть и недостатки.
Эта статья о том чего мне не хватает в формате GIF.

Ну почему нет поддержки многоцветных изображений (более 8 бит на точку)? Я не имею ввиду различные извращения с поочерёдной прорисовкой областей картинки и получением таким образом картинок из 512, 1024, ... 8192, ... цветов(рис. 1). Конечно, заметен момент прорисовки из-за времени загрузки, но такой "костыль" имеет место быть. А ведь можно было сжимать отдельные битовые плоскости. То есть каждую из трёх цветовых компонент (Red, Green, Blue) отдельно как 8-битовую картинку. Для равномерной подкачки из интернета хранить и сжимать изображение построчно (имеются ввиду строки пикселей в изображении). На мой взгляд - это явное упущение.



Рис. 1. Изображение содержит 173 кадра (44288 цветов)


Очень жаль что нет возможности алгоритмически задать порядок следования кадров. Ведь как было бы хорошо, имея набор кадров в GIF-файле задать порядок их следования специальным образом. Стало бы возможным создать начало, повторяющуюся N раз середину и хвост. Как вам такой вариант задания порядка кадров(см. ниже)?

1,2,3,[10:4,5,6,7],8,9,10
1,2,3 - Начало анимации из кадров 1-3
[10:4,5,6,7] - Цикл из кадров 4-7 на 10 итераций
8,9,10 - Хвост анимации из кадров 8-10

В своё время очень хотел чтобы у GIF формата была возможность при перерисовке нового кадра применять палитру нового кадра к старому кадру. У меня даже имелся набор картинок одинаковых по содержимому и отличающихся лишь палитрой. При последовательной смене кадров было видно очень красивую трёх-конечную спираль(рис. 2). На представленной анимации происходит отрисовка каждого кадра, а ведь можно было бы просто менять палитру предыдущего кадра и даже не хранить байты всех кадров кроме первого . . . и вес был бы раз в 20 меньше, но увы.



Рис. 2. Изображение содержит 32 кадра.


З.Ы. Лучшее ПО для создания GIF анимаций: GIF Movie Gear


Рис. 3. Весит эта GIF анимация порядка 3МБ.

Комментариев нет: