Нека започнем с нещо простичко като например анимираните GIF-изображения.
Окей, не е точно проект като "Междузвездни войни", но и Джордж Лукас е започнал снимайки
любителски 8-милиметрови кратки филмчета.
Средностатистическия анимиран GIF не е повече от няколко стотин квадратни пиксела с около дузина кадри, дори по-малко.
Използват се масово в web-страниците, затова скоростта за download (която зависи от размера му) е важен параметър за модемните
потребители на Интернет.
Хайде да направим нещичко. Трябва ви прост 2D-графичен редактор и ImageMagick.
Простичката анимация, с която ще започнем е един от тези малки бутончета, които хората правят
по страниците за да ви привлекат вниманието. Те са стандартни по-размер (87x31 пиксела) и броят цветове
и кадри трябва да е отраничен от това, че размера в байтове на получения в крайна сметка анимиран GIF
трябва да е колкото се може по-малък.
Така, че хващайте любимата си програма за рисуване се и направете основния кадър на бутона.
blank.gif
|
Е, знам, че не е шедьовър, но нашата цел най-напред е да накараме нещо да се мърда, а артистичността оставям на
въобръжението ви. Нашата цел ще бъде да накараме думичката 'Linux' да подскача от единия край на бутона до другия.
Да добавим въпросния текст и да го запишем като anim1.gif. Така де, великите художници винаги са слагали достойни имена на творенията си.
anim1.gif
|
Сега да го направим още веднъж, но с малко отместване и да го запишем като anim2.gif...
anim2.gif
|
Повтаряме това за още няколко кадъра докато получим поредица със затворен цикъл, чието начало и край почти се
припокриват.
anim3.gif
anim4.gif
anim5.gif
anim6.gif
|
Вашите картинки могат съвсем да не приличат на моите - всичко си зависи от въображението ви.
Тъй или иначе до този момент трябва да сте направили няколко изображения...
$ ls -l anim?.gif
-rw-rw-r-- 1 spm spm
269 Apr 11 12:22 anim1.gif
-rw-rw-r-- 1 spm spm
277 Apr 11 12:13 anim2.gif
-rw-rw-r-- 1 spm spm
275 Apr 11 12:15 anim3.gif
-rw-rw-r-- 1 spm spm
271 Apr 11 12:16 anim4.gif
-rw-rw-r-- 1 spm spm
275 Apr 11 12:17 anim5.gif
-rw-rw-r-- 1 spm spm
277 Apr 11 12:17 anim6.gif
Сега вече трябва да използваме командата animate на ImageMagick:
$ animate -delay 15 anim?.gif
и да се полюбуваме на творението си. Променяйки параметъра -delay
можем да регулираме скоростта на анимацията изберете нещо, което не е много подлудяващо.
Мерната единица е стотни от секундата между кадрите.
|
-delay 5
|
|
-delay 10
|
|
-delay 50
|
Преди да прекараме това през енкодер за да получим един единствен файл трябва да използвамe
командата convert за да комбинираме всички отделни кадри.
$ convert -delay 15 -loop 0 anim?.gif anim.gif
Опцията -loop 0 е необходима ако искаме последователността да е безкрайно зациклена в противен случай
ще видите анимацията еднократно. След като създадете анимирания си GIF можете да го видите с командата
animate или да го пуснете в любимия си браузър.
Простичка кратка анимация само с няколко кадъра не може да се получи много голяма,
но някои версии на ImageMagick са компилирани без LZW компресия използвана от .gif енкодера
като в резултат анимацията може да се получи огромна. Ако сте такъв късметлия потърсете си друга версия на
ImageMagick или си компилирайте собствена от изходния код.