Home    Решения    Услуги    Download    Публикации    Работа    Продукти    Документи
 

 

 
Print this page/Отпечатай тази страница  

 

Малки стъпки

по материали от Интернет и невероятните есета на Scott Manley




  Нека започнем с нещо простичко като например анимираните 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 или си компилирайте собствена от изходния код.
 
 

Предишната част

Следва...

Превод и адаптация на текста: Йовко Ламбрев