Come animare GIF in ImageMagick

Come animare GIF in ImageMagick

Un'animazione è piuttosto bella. Voglio dire, è animato, come non ti piace, giusto? Ma sapevi che un'animazione non è altro che un mucchio di foto messe insieme e suonate una dopo l'altra, super veloce? Quando vedi un'animazione, non è altro che un mucchio di foto che vengono suonate abbastanza velocemente in modo tale da non poter dire che sono immagini. I tuoi occhi li interpretano come un piccolo film. Ora che sappiamo come viene fatta un'animazione, arriviamo e ne facciamo un po '.

In questo tutorial, ti mostreremo come animare usando ImageMagick. Si prega di notare che ImageMagick è un pacchetto molto accurato e puoi fare molto. Quindi, tratteremo solo le basi dell'animazione.

Installazione di immagini

Abbiamo bisogno di immagini per questo processo, quindi installiamo prima usando il seguente comando:

sudo apt-get installa imagemagick

Animazione di base

Le immagini sono la base di un'animazione. Per questa animazione, abbiamo 10 immagini. La prima foto è una tela vuota. Il secondo ha una L su di esso. Il terzo ha una L e un I su di esso. Il quarto ha una L, un I e N su di esso, e così via fino a quando non si completa per scrivere "Linuxhint".

Ricorda che quando numerate le foto, devi stare attento. In questo caso, se avessimo numerato le foto come PIC-1 fino a PIC-10, il programma non avrebbe generato la stessa gif come se l'avessimo numerata come PIC-01 fino a PIC-10. Questo perché PIC-10 arriva dopo Pic-1. Ma PIC-10 non arriva subito dopo PIC-01; Pic-02 arriva dopo Pic-01. Quindi, se hai 100 immagini, vuoi usare tre cifre per numerarle. Ad esempio, usa i numerazioni PIC-001 fino a PIC-100.

Iniziamo all'animazione.

Download di CD
(Passa alla cartella che contiene le tue immagini.)

converti -delay 20 -loop 0 pic-*.Animazione GIF.GIF

pic-*.GIF: le 10 immagini iniziali che abbiamo (la stella significa includere immagini con qualsiasi cosa in quella posizione).

animazione.GIF: il nome dell'output (la GIF animata).

-Loop: Loop è il numero di volte in cui l'animazione deve essere riprodotta. Se si imposta questo numero su zero, allora sarà un ciclo infinito (loop senza fine).

-Ritardo: imposta il ritardo in 1/100 di secondo.

Cosa abbiamo scritto qui? Stiamo scattando le 10 immagini che abbiamo creato e creiamo un'animazione che riproduce le immagini una dopo l'altra con un leggero ritardo tra le immagini. Una volta generata la GIF, verrà nominata "animazione.gif ”e riprodurrà continuamente.

Se desideri ridimensionare l'animazione, usa il comando seguente:

Converti -Resize 768x576 -Delay 70 -Loop 0 Pic-*.GIF Animation02.GIF

Il punto è che puoi aggiungere tutti i parametri che desideri.

Animazione della pagina

Nell'esempio precedente, abbiamo suonato una foto alla volta. Ma ogni volta che viene riprodotta un'immagine, l'immagine precedente viene rimossa. Pic-01 è stato giocato per primo, Poi PIC-02, Poi PIC-03. Ma in questo caso, PIC-01, PIC-0, fino a quando PIC-10 non era tutto nella stessa cornice in nessun momento. In un'animazione di pagina, foto-*.GIF sono tutti sulla tela alla fine. Quindi, l'immagine precedente non viene rimossa. Per darti un'idea di com'è, facciamo una nuova serie di immagini.

converti -delay 100 -ze 1000x1000 xc: skyblue \
-pagina +0 +0 foto11.jpg \
-Pagina +500 +0 Photo22.jpg \
-Pagina +0 +500 Photo33.jpg \
-Pagina +500 +500 Photo44.jpg \
-Loop 0 Animation03.GIF

Sappiamo cosa fanno il ritardo e gli switch loop.

-Dimensioni: questa è la dimensione della tua tela. Puoi impostarlo su qualsiasi dimensione che desideri. Nel nostro esempio, lo impostiamo su 1000 × 1000.

XC: Skyblue: questo è il colore di sfondo. In questo caso, abbiamo scelto Skyblue come colore di sfondo.

-Pagina: l'interruttore della pagina è seguito dai valori di offset. In altre parole, dopo l'interruttore della pagina, scrivi un segno più e dove sull'asse X vuoi che sia l'immagine e poi sull'asse y. Ricorda che l'angolo in alto a sinistra è 0, 0 o +0 +0. Qui, la foto11.L'immagine jpg è posizionata a (0,0). Il foto22.L'immagine jpg è posizionata a (500,0). La foto33.L'immagine jpg è posizionata a (0,500). E infine, il foto44.L'immagine jpg è posizionata a (500.500). Ricorda anche che per l'asse y, verso il basso è positivo. Tutte le immagini qui hanno una risoluzione di 500 × 500. Dopo i valori di offset, è possibile scrivere il nome dell'immagine per cui si applica questo offset.

Animazione03.GIF: il nome dell'output.

Smaltire precedente

Nel prossimo esempio, se vogliamo che l'immagine torni alla tela iniziale prima di procedere, prendiamo il codice.jpg, posizionarlo sulla tela, rimuoverla dalla tela, tornare alla tela di sfondo e quindi posizionare il cibo.immagine jpg, ecc. Mostriamo un esempio:

convertire -Disponi nessuno -delay 0 \
-taglia 1000x1000 xc: skyblue +antiaias \
-Smalti precedente -delay 100 \
-pagina +0 +0 foto11.jpg \
-Pagina +500 +0 Photo22.jpg \
-Pagina +0 +500 Photo33.jpg \
-Pagina +500 +500 Photo44.jpg \
-Loop 0 Animation04.GIF

Qui, c'è solo un nuovo termine: l'interruttore disposti. Quando si utilizza la parola in precedenza con l'interruttore disposti, restituisce la tela allo stato precedente prima di mettere l'immagine successiva su di essa. Qui, la tela permanente iniziale è la tela con il colore Skyblue su di essa - questa è la nostra tela di sfondo. Quindi, aggiungiamo il codice.Immagine jpg e dopo un breve ritardo, torniamo alla nostra tela di sfondo. Quindi, mostriamo il cibo.Immagine jpg e tornare alla nostra tela di sfondo, ecc. Ottieni l'immagine, giusto?

Per ulteriori informazioni sulle animazioni che utilizzano ImageMagick, visitare https: // legacy.ImageMagick.org/utilizzo/anima_basics/.

Conclusione

Le animazioni sono piuttosto interessanti e tendono ad essere utili qua e là. Usando ImageMagick, c'è molto che puoi fare in termini di animazione. Tuttavia, in questo tutorial, abbiamo appreso solo le basi delle animazioni. Nella sua forma più semplice, puoi avere molte immagini correttamente etichettate che puoi usare per creare una presentazione - fondamentalmente visualizzando le foto in un determinato ordine (Pic01, quindi pic02, quindi pic03, ecc.). Nel secondo metodo, puoi sovrapporre immagini. Abbiamo pic1, quindi pic1/pic2, quindi pic1/pic2/pic3, ecc. Usando il metodo precedente Disose, è possibile mostrare un'immagine, tornare alla tela originale, quindi mostrare una seconda immagine, ecc. (Sfondo, pic01, sfondo, pic02, sfondo, pic03, ecc.). Qualunque metodo tu usi, puoi creare grandi animazioni in un batter d'occhio. Sebbene il codice sia noioso, è ancora un liner!