Geanimeerde GIF's maken en bewerken vanaf de opdrachtregel in Ubuntu
Geanimeerde GIF's zijn de afgelopen jaren erg populair geworden en hun populariteit neemt elke dag toe. Niet mee eens? Denk hier eens over na: maar liefst 23 miljoen GIF's worden dagelijks naar Tumblr gestuurd. Er is dus duidelijk een publiek voor dit beeldformaat.
Probeert dit u om GIF's te maken? Zo ja, dan zult u blij zijn te weten dat er verschillende GUI-gebaseerde GIF-editors zijn die op verschillende OS-platforms werken. Als u echter Linux gebruikt en op zoek bent naar een opdrachtregelprogramma voor deze taak, hoeft u niet verder te zoeken want we bespreken Gifsicle - een tool waarmee u eenvoudig kunt spelen met geanimeerde GIF's.
Opmerking : versie 1.78 van Gifsicle is gebruikt voor alle voorbeelden die in dit artikel worden genoemd.
gifsicle
Gifsicle is een opdrachtregelhulpprogramma voor het maken, bewerken en ontvangen van informatie over GIF-afbeeldingen en -animaties. Volgens de officiële webpagina van de tool biedt Gifsicle verschillende functies, waaronder beeldoptimalisatie en controle over interliniëring, opmerkingen, looping en transparantie. Het " creëert goed opgevoede GIF's: verwijdert overtollige kleuren, gebruikt alleen lokale kleurentabellen als dat absoluut noodzakelijk is (lokale kleurentabellen verspillen ruimte en kunnen artefacten van weergave veroorzaken), enz. "
Downloaden en installeren
Op Ubuntu (evenals andere op Debian gebaseerde systemen), kunt u eenvoudig de Gifsicle-tool downloaden en installeren met behulp van de volgende opdracht:
sudo apt-get install gificle
Als alternatief kunt u het ook helemaal opnieuw bouwen met behulp van de broncode of een vooraf gebouwd binair bestand gebruiken - beide zijn beschikbaar om te downloaden van de officiële webpagina van het hulpprogramma.
Maak geanimeerde GIF met Gifsicle
Stel dat je een heleboel jpg-bestanden hebt en daar een geanimeerd GIF-bestand van wilt maken. Hier is hoe het te doen:
Omdat de opdracht gifsicle
alleen werkt op gif-bestanden, moet je eerst alle JPG-bestanden converteren naar GIF-indeling met de opdracht convert
:
convert [input-file-name] .jpg [output-bestandsnaam] .gif
Als het aantal jpg-bestanden groot is, kunt u de volgende opdracht gebruiken om ze allemaal te converteren:
convert '* .jpg [widht, voor ex: 300x]' resized% 03d.gif
Zodra de conversie van JPG naar GIF is voltooid, is het algemene commando om afzonderlijke GIF's te combineren in een uiteindelijke geanimeerde opdracht als volgt:
gifsicle [speed of animation] [aantal keren om door te lussen] [input jpgs]> output.gif
In het bovenstaande commando kan de "speed of animation" worden ingesteld met behulp van de vlag --delay
, terwijl het "aantal keren dat moet worden herhaald" kan worden ingesteld met de vlag --loopcount
.
Ik had bijvoorbeeld de volgende groep jpg-afbeeldingen.
Het volgende is de opdracht die ik heb gebruikt om een geanimeerd gif te maken van de bovenstaande afbeeldingen:
gifsicle --delay = 80 --loopcount = forever * .gif> out.gif
En hier is de out.gif.
Houd er rekening mee dat de waarde van --delay
vertraging de vertraging tussen frames vertegenwoordigt in honderdsten van een seconde. Ook heb ik "forever" gebruikt als een waarde voor de vlag --loopcount
. Dit is om te zorgen dat de animatie niet stopt. U kunt elk geheel getal gebruiken als u wilt dat de animatie wordt beperkt tot dat aantal tellingen.
Individuele frames uitpakken
Met Gifsicle kun je ook gemakkelijk afzonderlijke frames uit een geanimeerde gif halen. Hier is een voorbeeld van hoe ik het deed:
gifsicle out.gif '# 0'> first-frame.gif
De bovenstaande opdracht heeft het eerste frame uit de geanimeerde out.gif geëxtraheerd. Ik bleef gewoon de gehele waarde veranderen na "#" en de uitvoerbestandsnaam en kon alle frames extraheren uit out.gif.
Als het aantal frames in het geanimeerde gif behoorlijk hoog is en je ze allemaal wilt extraheren, dan is het - heel begrijpelijk - onpraktisch om het bovenstaande commando steeds opnieuw handmatig uit te voeren. In dat geval kunt u de opdracht in een lus uitvoeren vanuit een shellscript.
Een ander ding dat het vermelden waard is, is dat je ook negatieve waarden kunt gebruiken met "#." Negatieve waarden verwijzen naar frames vanaf het einde. "# -1" brengt u bijvoorbeeld het laatste frame.
Bewerk geanimeerde GIF
Met Gifsicle kun je ook eenvoudig geanimeerde GIF's bewerken. Met de volgende opdracht wordt bijvoorbeeld een nieuwe "out.gif" gemaakt die niets anders is dan de oude "out.gif" waarbij het eerste frame wordt vervangen door de samenvoeging van "a.gif" en "b.gif":
gifsicle --delay = 80 --loopcount = forever -b out.gif --replace '# 0' a.gif b.gif
Op dezelfde manier kunt u de vlag - wissen gebruiken om frames te verwijderen. Met de volgende opdracht wordt bijvoorbeeld het eerste frame van "out.gif" verwijderd, waarbij het resulterende gif "out-new.gif" is:
gifsicle out.gif - verwijder '# 0'> out-new.gif
U kunt niet alleen verwijderen en vervangen, maar u kunt ook nieuwe frames toevoegen aan een geanimeerde GIF. Met de --append
kunt u bijvoorbeeld frames toevoegen aan het einde van een geanimeerde gif. Hier is een voorbeeld:
gifsicle out-new.gif --append a.gif> out-new-appended.gif
De bovenstaande opdracht voegt het "a.gif" -frame toe aan het geanimeerde "out-new.gif" en produceert het geanimeerde "out-new-appended.gif" als uitvoer.
Je kunt ook de vlag --insert-before
gebruiken om een frame (of meerdere frames) ergens in een bestaand geanimeerd gif toe te voegen.
Beeldtransformatie
Gifsicle biedt ook enkele opties voor beeldtransformatie. U kunt het hulpprogramma bijvoorbeeld gebruiken om het formaat van GIF-afbeeldingen te wijzigen. U kunt de --resize [width]x[height]
om het formaat van uw gif-afbeelding te wijzigen naar een bepaalde breedte en hoogte. Via de manpagina van het commando: " Breedte of hoogte kan een onderstrepingsteken '_' zijn. Als het argument widthx_ is, wordt de uitvoer-GIF geschaald naar breedte pixels breed zonder de hoogte / breedteverhouding te wijzigen. ”
Zo heb ik een resize-bewerking uitgevoerd op "out.gif":
gifsicle out.gif --resize 150x_> out-resize.gif
De bovenstaande opdracht produceerde een bestand met de naam "out-resize.gif" dat niets anders was dan een verkleinde "out.gif" met 150 px breedte.
Conclusie
Gifsicle is misschien geen erg populaire GIF-creatie / bewerkingstool, maar het is zeker een zeer nuttige. En laat me duidelijk maken dat wat we hier hebben besproken slechts een topje van de ijsberg is, omdat de tool een overvloed aan functies / opties biedt. Ik vind het de moeite van het proberen waard - lees hier meer over.