Jak animować GIF w ImageMagick

Jak animować GIF w ImageMagick

Animacja jest całkiem fajna. To znaczy, jest animowany, jak możesz to nie lubić, prawda? Ale czy wiesz, że animacja jest niczym więcej niż kilka zdjęć zebranych i granych jeden po drugim, super szybkim? Kiedy widzisz animację, to nic więcej niż kilka zdjęć, które są wystarczająco szybko odtwarzane, tak że twoje oczy nie mogą powiedzieć, że to zdjęcia. Twoje oczy interpretują je jako mały film. Teraz wiemy, jak powstaje animacja, przejdźmy do niej i zróbmy.

W tym samouczku pokażemy, jak animować za pomocą ImageMagick. Pamiętaj, że ImageMagick to bardzo dokładny pakiet i możesz wiele zrobić. Więc omówimy tylko podstawy animacji.

Instalowanie ImageMagick

Potrzebujemy ImageMagick do tego procesu, więc zainstalujmy go najpierw za pomocą następującego polecenia:

sudo apt-get instal instal ImageMagick

Podstawowa animacja

Obrazy są podstawą animacji. Do tej animacji mamy 10 zdjęć. Pierwsze zdjęcie to puste płótno. Drugi ma na sobie L. Trzeci ma na sobie L i I. Czwarty ma na sobie L, I i N, i tak dalej, aż do końca, aby przeliterować „Linuxhint”.

Pamiętaj, że kiedy numerujesz zdjęcia, musisz zachować ostrożność. W takim przypadku, gdybyśmy ponumerowali zdjęcia jako PIC-1 do PIC-10, program nie wygenerowałby takiego samego GIF, jakbyśmy golili jako PIC-01 do PIC-10. To dlatego, że PIC-10 pojawia się po PIC-1. Ale PIC-10 nie przychodzi zaraz po PIC-01; PIC-02 pojawia się po pic-01. Więc jeśli masz 100 zdjęć, chcesz użyć trzech cyfr, aby je numerować. Na przykład użyj numerów PIC-001 do PIC-100.

Zacznijmy animować.

Pobieranie CD
(Przejdź do folderu zawierającego Twoje obrazy.)

Konwertuj -Delay 20 -Loop 0 pic-*.Animacja GIF.Gif

fotka-*.GIF: Początkowe 10 obrazów, które mamy (oznacza gwiazdę, zawiera zdjęcia z czymkolwiek w tej pozycji).

animacja.GIF: Nazwa wyjścia (animowany GIF).

-Pętla: pętla to liczba razy, gdy animacja musi zostać odtworzona. Jeśli ustawisz ten numer na zero, będzie to nieskończona pętla (nigdy nie kończąca pętli).

-Opóźnienie: ustawia opóźnienie w 1/100 sekundy.

Co tu napisaliśmy? Robimy 10 zdjęć, które stworzyliśmy i tworzymy animację, która odtwarza obrazy jeden po drugiej z niewielkim opóźnieniem między obrazami. Po wygenerowaniu GIF zostanie on nazwany „Animacja.gif ”i odtwarza się w sposób ciągły.

Jeśli chcesz zmienić rozmiar animacji, użyj następującego polecenia:

Konwertuj -Size 768x576 -Delay 70 -Loop 0 pic-*.GIF Animation02.Gif

Chodzi o to, że możesz dodać tyle parametrów, ile chcesz.

Animacja strony

W poprzednim przykładzie odtwarzaliśmy jedno zdjęcie na raz. Ale za każdym razem, gdy odtwarzane jest zdjęcie, poprzednie zdjęcie jest usuwane. PIC-01 został odtwarzany pierwszy, Następnie PIC-02, Następnie PIC-03. Ale w tym przypadku PIC-01, PIC-0, dopóki PIC-10 nie był w tej samej klatce w żadnym momencie. W animacji strony, pic-*.GIF na końcu są na płótnie. Tak więc poprzedni obraz nie jest usuwany. Aby dać ci wyobrażenie o tym, jak to jest, zróbmy nowy zestaw zdjęć.

Konwertuj -Delay 100 -Size 1000x1000 XC: SkyBlue \
-Strona +0 +0 Photo11.jpg \
-Strona +500 +0 Photo22.jpg \
-Strona +0 +500 Photo33.jpg \
-Strona +500 +500 Photo44.jpg \
-pętla 0 Animation03.Gif

Wiemy, co robią opóźnienie i przełączniki pętli.

-Rozmiar: jest to rozmiar twojego płótna. Możesz ustawić go na dowolny wymiar, który chcesz. W naszym przykładzie ustawiamy go na 1000 × 1000.

XC: SkyBlue: To jest kolor tła. W tym przypadku wybraliśmy SkyBlue jako kolor tła.

-Strona: Po przełączniku strony następują wartości przesunięcia. Innymi słowy, po przełączniku strony zapisz znak plus i gdzie na osi X chcesz, aby obraz był, a następnie na osi y. Pamiętaj, że lewy górny róg to 0, 0 lub +0 +0. Tutaj, zdjęcie11.Obraz JPG jest umieszczony na (0,0). Photo22.Obraz JPG jest umieszczony na (500,0). Photo33.Obraz JPG jest umieszczony na poziomie (0,500). I wreszcie zdjęcie44.Obraz JPG jest umieszczony na (500 500). Pamiętaj również, że w osi Y, w dół jest dodatnia. Wszystkie obrazy mają rozdzielczość 500 × 500. Po wartościach przesunięcia możesz zapisać nazwę obrazu, dla którego ma zastosowanie to przesunięcie.

Animation03.GIF: nazwa wyjścia.

Usuń poprzednie

W następnym przykładzie, jeśli chcemy, aby obraz powrócił do początkowego płótna przed kontynuowaniem, weźmy kod.JPG, umieść go na płótnie, usuń je z płótna, wróć do płótna tła, a następnie umieść jedzenie.zdjęcie jpg itp. Pokażmy przykład:

Konwertuj -Dispose None -Delay 0 \
-Rozmiar 1000x1000 XC: SkyBlue +Antialias \
-usuń poprzednie -Delay 100 \
-Strona +0 +0 Photo11.jpg \
-Strona +500 +0 Photo22.jpg \
-Strona +0 +500 Photo33.jpg \
-Strona +500 +500 Photo44.jpg \
-pętla 0 Animation04.Gif

Tutaj jest tylko jeden nowy termin: przełącznik usuwania. Kiedy użyjesz słowa poprzedniego z przełącznikiem do dyspozycji, zwraca płótno do poprzedniego stanu przed umieszczeniem na nim następnego obrazu. Tutaj początkowe stałe płótno to płótno z kolorem SkyBlue na nim - to jest nasze płótno tła. Następnie dodajemy kod.Obraz JPG i po krótkim opóźnieniu powracamy do naszego płótna tła. Następnie pokazujemy jedzenie.Obraz JPG i powróć do naszego płótna tła itp. Dostajesz zdjęcie, prawda?

Aby uzyskać więcej informacji o animacjach za pomocą ImageMagick, odwiedź https: // legacy.ImageMagick.org/użycie/anim_basics/.

Wniosek

Animacje są całkiem fajne i zwykle są przydatne. Korzystając z ImageMagick, możesz wiele zrobić pod względem animacji. Jednak w tym samouczku dowiedzieliśmy się tylko o podstawach animacji. W najprostszej formie możesz mieć wiele poprawnie oznaczonych obrazów, których można użyć do utworzenia slajdów - zasadniczo poprzez wyświetlanie zdjęć w danej kolejności (PIC01, potem PIC02, a następnie PIC03 itp.). W drugiej metodzie możesz nakładać zdjęcia. Mamy PIC1, a następnie PIC1/PIC2, ​​a następnie PIC1/PIC2/PIC3 itp. Korzystając z poprzedniej metody, możesz pokazać obraz, powrócić do oryginalnego płótna, a następnie pokazać drugi obraz itp. (tło, pic01, tło, pic02, tło, pic03 itp.). Niezależnie od tego metody możesz tworzyć świetne animacje w mgnieniu oka. Chociaż kod wygląda nużąco, wciąż jest to jedna linia!