Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   Я вскрываю исходники PNG анимации (https://javascript.ru/forum/project/22534-ya-vskryvayu-iskhodniki-png-animacii.html)

Solovei95 24.10.2011 05:24

Я вскрываю исходники PNG анимации
 
Я приоткрою завесу тайны опытным JS программистам!
https://github.com/Solovei95/libs
libanim.js - это анимация как у PNG.

Нету deffered.

Solovei95 24.10.2011 05:26

Это отличная находка для любого археолога. :D

Solovei95 24.10.2011 05:41

Как я уже говорил:
Тактика боя - две канвы, drawImage. Одна канва отрисовывает след. кадр, другой - берет предыдущий.
Используется таймер отдельно. Не используется imageData, что позволяет использовать в "file://".
Метод работает только в IE 9 и выше, Firefox, Opera, Google Chrome и Safari. Теоретически кроссбраузерно.
Скрипт являет альтернативным решением для PNG анимации.

Solovei95 24.10.2011 05:43

Это самый простой код на HARDCORE анимацию.

Gozar 24.10.2011 10:59

Solovei95,
Хочется признания, а оно никак не приходит? ;)

Solovei95 24.10.2011 13:09

libanim.js пришло как-раз из-за APNG. Дело в том, что у APNG помимо delay, есть blend и dispose. Мне так понравился алгоритм, что решил ввести это в канву! Правда есть некоторые поправки:
- delay выражается не двумя числами, а одним.
- присутствует comp и opacity.
- используется элементы (благодаря чему можно заранее загрузить кадры).

Solovei95 24.10.2011 13:11

Gozar,
И вообще мне не совсем понятен твой вопрос!

Solovei95 24.10.2011 13:13

У APNG есть целый ряд недостатков:
- Нету глобальной палитры.
- Не кроссбраузерность.
- Сложен в оптимизации.
- Нету параметра типа "композиция" и "прозрачность", хотя есть поддержка альфа-канал.

У скрипта больше плюсов, чем минусов...
- Можно брать любые PNG картинки.
- Это же скриптовая анимация, так ведь?
- Получается глобальная палитра.
- Доступен не только PNG.
- Раз используются элементы, значит можно использовать не только картинки, но и canvas и видео элементы.
- А раз можно Canvas, значит можно JPEG с альфа-каналом и т.п.

Solovei95 24.10.2011 13:19

И если порезать APNG на кадры, то получим:
- Быстрее загружаться будет.
- Можно использовать во всех браузерах, где есть XHR и arraybuffer.
- Отображение в Canvas элементе (благодаря чему можно добавить различные фильтры).

Solovei95 24.10.2011 13:22

Минусы такой анимации:
- Использует ЦП пользователя.
- Не работает в IE ниже 9.
- Не работает при отключенном JS.
- Canvas элемент.
- Недоступность FlashCanvas.

Gozar 26.10.2011 23:10

Solovei95,
Не кажется странным что у тебя больше монолог, чем диалог? А ведь это форум. Поэтому и задал вопрос про признание, т.к. похоже кроме меня на твои посты никто не обращает внимания.

B~Vladi 27.10.2011 10:27

Gozar, да ладно, чувак крут.
Чувак, ты крут :yes:

Тему можно закрывать.

Виктор Кон 03.11.2011 19:23

Canvas пока напрягает, не хочется связываться. Я когда-то делал анимации на Java, запускал как java-апплеты. Точнее они и сейчас в интернете стоят. Программа написана, закачивает картинки в свой архив и работает. С картинками можно делать все, что угодно. Но интереснее оказалось показывать анимацию по чужим картинкам, распределенным в интернете, а java апплетам это не разрешают, только на js можно сделать. И лучше без графики.

B~Vladi 03.11.2011 22:37

Виктор Кон, забудь ты уже про свой Java, времена меняются.


Часовой пояс GMT +3, время: 18:06.