GIF-urile animate au devenit foarte populare în ultimii ani, iar popularitatea lor crește pe zi ce trece. Nu sunteți de acord? Gândiți-vă la acest lucru: peste un pic 23 de milioane de GIF-uri sunt postate pe Tumblr în fiecare zi. Este clar că există un public pentru acest format de imagine.
Vă atrage asta să creați GIF-uri? Dacă da, vă veți bucura să știți că există diferiți editori GIF pe bază de GUI care funcționează pe diferite platforme de sistem de operare. Cu toate acestea, dacă sunteți pe Linux și căutați un instrument de linie de comandă pentru acest job, nu căutați mai departe, deoarece vom discuta Gifsicle – un instrument care vă permite să jucați cu ușurință cu GIF-uri animate.
Notă: versiunea 1.78 din Gifsicle a fost utilizată pentru toate exemplele menționate în acest articol.
Gifsicle
Gifsicle este un instrument de linie de comandă pentru crearea, editarea și obținerea de informații despre imagini și animații GIF. Conform instrumentului pagina web oficială, Gifsicle oferă mai multe caracteristici, inclusiv optimizarea imaginii, precum și controlul asupra întrețeserii, comentariilor, looping-ului și transparenței. Aceasta “creează GIF-uri bine comportate: elimină culorile redundante, folosește tabele de culori locale doar dacă trebuie (tabelele de culori locale risipesc spațiu și pot cauza vizualizarea artefactelor) etc.”
Descărcare și instalare
Pe Ubuntu (precum și alte sisteme bazate pe Debian), puteți descărca și instala cu ușurință instrumentul Gifsicle folosind următoarea comandă:
sudo apt-get install gifsicle
Alternativ, puteți să-l construiți de la zero folosind codul sursă sau să utilizați un binar pre-construit – ambele sunt disponibile pentru descărcare de pe instrumentul pagina web oficială.
Creați GIF animat cu Gifsicle
Să presupunem că aveți o grămadă de fișiere jpg și doriți să creați un fișier gif animat din ele. Iată cum se face:
Din moment ce gifsicle
comanda funcționează numai pe fișiere gif, va trebui mai întâi să convertiți toate fișierele .jpg în format .gif folosind convert
comanda:
convert [input-file-name].jpg [output-file-name].gif
Dacă numărul de fișiere jpg este mare, puteți utiliza următoarea comandă pentru a le converti pe toate:
convert '*.jpg[widht, for ex: 300x]' resized%03d.gif
Odată ce s-a făcut conversia de la jpg la gif, comanda generală de a combina gif-uri individuale într-unul final animat este după cum urmează:
gifsicle [speed of animation] [number of times to loop] [input jpgs] > output.gif
În comanda de mai sus „viteza animației” poate fi setată folosind --delay
flag, în timp ce „numărul de bucle” poate fi setat folosind --loopcount
steag.
De exemplu, am avut următorul grup de imagini jpg.
Următoarea este comanda pe care am folosit-o pentru a produce un gif animat din imaginile de mai sus:
gifsicle --delay=80 --loopcount=forever *.gif>out.gif
Și iată out.gif.
Vă rugăm să rețineți că valoarea --delay
reprezintă întârzierea între cadre în sutimi de secundă. De asemenea, am folosit „pentru totdeauna” ca valoare pentru --loopcount
steag. Aceasta este pentru a vă asigura că animația nu se oprește. Puteți utiliza orice valoare întreagă dacă doriți ca animația să fie limitată la acel număr de numărătoare.
Extrageți rame individuale
Gifsicle vă permite, de asemenea, să extrageți cu ușurință cadre individuale dintr-un gif animat. Iată un exemplu despre cum am făcut-o:
gifsicle out.gif '#0' > first-frame.gif
Comanda de mai sus a extras primul cadru din animatul out.gif. Am continuat să schimb valoarea întregului după „#” și numele fișierului de ieșire și am putut extrage toate cadrele din out.gif.
Dacă numărul cadrelor din gif-ul animat este destul de mare și doriți să le extrageți pe toate, atunci – destul de înțeles – nu va fi practic să executați comanda de mai sus din nou și din nou manual. În acest caz, puteți rula comanda într-o buclă dintr-un script shell.
Un alt lucru demn de menționat aici este că puteți folosi și valori negative cu „#”. Valorile negative se referă la cadre de la sfârșit. De exemplu, „# -1” vă va aduce ultimul cadru.
Editați GIF animat
Cu Gifsicle puteți edita cu ușurință GIF-uri animate. De exemplu, următoarea comandă creează un nou „out.gif” care nu este altceva decât vechiul „out.gif”, cu primul său cadru înlocuit cu îmbinarea „a.gif” și „b.gif”:
gifsicle --delay=80 --loopcount=forever -b out.gif --replace '#0' a.gif b.gif
În mod similar, puteți utiliza fișierul --delete
steag pentru a șterge cadre. De exemplu, următoarea comandă șterge primul cadru al „out.gif”, iar gif-ul rezultat este „out-new.gif”:
gifsicle out.gif --delete '#0' > out-new.gif
Nu numai că puteți șterge și înlocui, dar puteți adăuga și cadre noi la un GIF animat. De exemplu, --append
vă permite să adăugați cadre spre sfârșitul unui gif animat. Iată un exemplu:
gifsicle out-new.gif --append a.gif > out-new-appended.gif
Comanda de mai sus va adăuga cadrul „a.gif” la „out-new.gif” animat și va produce „out-new-appended.gif” ca ieșire.
Puteți utiliza, de asemenea, --insert-before
pavilion pentru a adăuga un cadru (sau mai multe cadre) oriunde într-un gif animat existent.
Transformarea imaginii
Gifsicle oferă și câteva opțiuni de transformare a imaginii. De exemplu, puteți utiliza instrumentul pentru a redimensiona imaginile gif. Puteți utiliza --resize [width]x[height]
semnalizați pentru a redimensiona imaginea GIF la o anumită lățime și înălțime. Din pagina manuală a comenzii: „Lățimea sau înălțimea pot fi un „_” de subliniere. Dacă argumentul este widthx_, atunci GIF-ul de ieșire este scalat la lățime pixeli lățime fără a-și modifica raportul de aspect.”
Iată cum am efectuat o operațiune de redimensionare pe „out.gif”:
gifsicle out.gif --resize 150x_ > out-resize.gif
Comanda de mai sus a produs un fișier numit „out-resize.gif” care nu era altceva decât un „out.gif” redimensionat cu lățimea de 150 px.
Concluzie
Este posibil ca Gifsicle să nu fie un instrument de creare / editare GIF foarte popular, dar este cu siguranță unul foarte util. Și permiteți-mi să clarific că orice am discutat aici este doar un vârf al aisbergului, deoarece instrumentul oferă o mulțime de caracteristici / opțiuni. Cred că merită să încercați – aflați mai multe despre asta aici.