Slik lager og redigerer du animerte GIFer fra kommandolinjen i Ubuntu
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.