Animerte GIF har blitt veldig populære de siste årene, og deres popularitet vokser med hver dag som går. Ikke enig? Tenk på dette: Over en hel del 23 millioner GIF blir postet til Tumblr hver dag. Så klart er det et publikum for dette bildformatet.

Tillater det å opprette GIFer? Hvis ja, vil du være glad for å vite at det finnes ulike GUI-baserte GIF-redaktører som jobber på forskjellige OS-plattformer. Men hvis du er på Linux og ser etter et kommandolinjeverktøy for denne jobben, ser du ikke lenger da vi skal diskutere Gifsicle - et verktøy som lar deg enkelt spille med animerte GIF-filer.

Merk : versjon 1.78 av Gifsicle ble brukt for alle eksemplene nevnt i denne artikkelen.

Gifsicle

Gifsicle er et kommandolinjeverktøy for å lage, redigere og få informasjon om GIF-bilder og animasjoner. Ifølge verktøyets offisielle nettside tilbyr Gifsicle flere funksjoner, inkludert bildeoptimalisering, samt kontroll over interlacing, kommentarer, looping og gjennomsiktighet. Det " skaper veloppdragne GIFer: fjerner overflødige farger, bruker bare lokale fargebord hvis det absolutt må (lokale fargebord ødelegger plass og kan føre til visning av artefakter), etc. "

Nedlasting og installasjon

På Ubuntu (i tillegg til andre Debian-baserte systemer) kan du enkelt laste ned og installere Gifsicle-verktøyet ved hjelp av følgende kommando:

 sudo apt-get install gifsicle 

Alternativt kan du også bygge den fra bunnen av med kildekoden eller bruke en pre-built binær - begge er tilgjengelige for nedlasting fra verktøyets offisielle nettside.

Lag animert GIF med Gifsicle

Anta at du har en masse jpg-filer og vil lage en animert giffil ut av dem. Slik gjør du det:

Siden gifsicle kommandoen bare fungerer på gif-filer, må du først konvertere alle .jpg-filene til .gif-format ved å bruke convert kommandoen:

 konvertere [input-fil-navn] .jpg [output-fil-navn] .gif 

Hvis antall jpg-filer er store, kan du bruke følgende kommando for å konvertere dem alle:

 konvertere '* .jpg [widht, for eksempel: 300x]' resized% 03d.gif 

Når konverteringen fra jpg til gif er ferdig, er den generelle kommandoen for å kombinere individuelle gifs til en endelig animert en som følger:

 gifsicle [animasjonshastighet] [antall ganger til loop] [input jpgs]> output.gif 

I den ovennevnte kommandoen kan "animasjonshastigheten" settes ved hjelp av --delay flagget, mens "antall ganger til sløyfe" kan settes ved hjelp av --loopcount flagg.

For eksempel hadde jeg følgende gruppe jpg-bilder.

Følgende er kommandoen jeg pleide å produsere et animert gif ut av bildene ovenfor:

 gifsicle --delay = 80 --loopcount = forever * .gif> out.gif 

Og her er out.gif.

Vær oppmerksom på at verdien av - --delay representerer forsinkelsen mellom rammer i hundrevis av sekunder. Også, jeg brukte "for alltid" som en verdi til --loopcount flagget. Dette er for å sikre at animasjonen ikke stopper. Du kan bruke en hvilken som helst heltall hvis du vil at animasjonen skal begrenses til det antall teller.

Trekk ut individuelle rammer

Gifsicle lar deg også enkelt trekke ut individuelle rammer fra et animert gif. Her er et eksempel på hvordan jeg gjorde det:

 gifsicle out.gif '# 0'> first-frame.gif 

Kommandoen ovenfor hentet den første rammen fra den animerte out.gif. Jeg fortsatte å endre integerverdien etter "#" og utdatafilenavnet og kunne trekke ut alle rammene fra out.gif.

Hvis antall rammer i det animerte gifet er ganske høye, og du vil trekke ut dem alle, så vil det være upraktisk å kjøre kommandoen over og over manuelt manuelt. I så fall kan du kjøre kommandoen i en loop fra et shell-skript.

En annen ting å nevne her er at du også kan bruke negative verdier med "#." Negative verdier refererer til rammer fra slutten. For eksempel vil "# -1" få deg den siste rammen.

Rediger animert GIF

Med Gifsicle kan du også enkelt redigere animerte GIFs. For eksempel oppretter følgende kommando en ny "out.gif" som er ingenting annet enn den gamle "out.gif" med sin første ramme erstattet med sammenslåingen av "a.gif" og "b.gif":

 gifsicle --delay = 80 --loopcount = forever -b out.gif --replace '# 0' a.gif b.gif 

På samme måte kan du bruke --delete flagg for å slette rammer. For eksempel sletter den følgende kommandoen den første rammen av "out.gif" med det resulterende gif som "out-new.gif":

 gifsicle out.gif - delete '# 0'> out-new.gif 

Ikke bare kan du slette og erstatte, men du kan også legge til nye rammer til en animert GIF. For eksempel kan - --append la deg legge til rammer mot slutten av et animert gif. Her er et eksempel:

 gifsicle out-new.gif --append a.gif> out-new-appended.gif 

Kommandoen ovenfor vil legge til "a.gif" -rammen til den animerte "out-new.gif" og produsere den animerte "out-new-appended.gif" som utdata.

Du kan også bruke --insert-before flagget for å legge til en ramme (eller flere rammer) hvor som helst i et eksisterende animert gif.

Bildetransformasjon

Gifsicle tilbyr også noen image transformasjon alternativer. For eksempel kan du bruke verktøyet til å endre størrelsen på gifbilder. Du kan bruke --resize [width]x[height] til å endre størrelsen på gif-bildet til en bestemt bredde og høyde. Fra kommandos man side: " Enten bredde eller høyde kan være en understreking '_'. Hvis argumentet er widthx_, blir utdata GIF skalert til breddepiksler bredt uten å endre størrelsesforholdet.

Slik har jeg utført en resize-operasjon på "out.gif":

 gifsicle out.gif --resize 150x_> out-resize.gif 

Kommandoen ovenfor produserte en fil med navnet "out-resize.gif", noe som var noe annet enn en forstørret "out.gif" med 150px bredde.

Konklusjon

Gifsicle kan ikke være et veldig populært GIF opprettings- / redigeringsverktøy, men det er sikkert en veldig nyttig. Og la meg gjøre det klart at det vi har diskutert her bare er et tips på isbreen, da verktøyet gir en mengde funksjoner / alternativer. Jeg ting er verdt å prøve - lære mer om det her.