Om du har tillräckligt många bilder på din dator och de tar upp för mycket utrymme är det definitivt möjligt att minska storleken på dem utan att förlora kvaliteten. Detta kan också vara mycket användbart när du laddar upp bilder till molnlagring.
JPEG och PNG är de vanligaste bildformaten på internet, så du kommer att kunna optimera nästan alla bilder
Det finns ett verktyg som heter jpegoptim, ett kommandoradsverktyg som kan användas för att komprimera JPEG-, JPG- och JFIF-bilder utan kvalitetsförlust. Verktyget optimerar bilderna baserat på Huffman-tabeller. JPEG-algoritmen använder komprimering som den är, men denna komprimering uppnås med kvalitetsförlust, och här kan vi optimera storleken utan att ändra bilden.
För att installera verktyget i Ubuntu, Debian och baserade distributioner, kör:
$ sudo apt install jpegoptim
I Fedora, Red Hat, CentOS och andra distributioner baserade på dem är saker och ting lite mer komplicerade, du måste först lägga till epel-release-arkivet. Du kan göra detta med ett kommando som detta:
$ sudo yum install epel-release
Eller:
$ sudo dnf install epel-release
Sedan kan du installera jpegoptim från det arkiv du just lagt till:
$ sudo yum install jpegoptim
Eller:
$ sudo dnf install jpegoptim
Låt oss ta en titt på hur man använder jpegoptim. Att använda linux bildkomprimeringsverktyg är mycket enkelt. Allt du behöver göra är att köra programmet och skicka ett filnamn till det. Detta är syntaxen:
$ jpegoptim optiona file_name.jpeg
Låt oss titta på verktygets alternativ:
-d
- ange i vilken mapp du vill spara de färdiga bilderna;-f
- tvingad optimering;-m
- kvalitetsindikator, avbryter förlustfri komprimering och ställer in kvalitetsnivån från 0 till 100, ju mer desto bättre;-n
- utför inte någon verklig optimering, utan visar bara resultatet;-S
- anger storleken på den färdiga bilden, kan anges i procent eller kilobyte;-o
- ersätter källfilen;-p
- spara tidsstämplar;-P
- spara filrättigheter.Låt oss se hur man optimerar bilder i Linux med jpegoptim. Låt oss först titta på originalstorleken:
$ du image.jpg
Därefter gör vi den enklaste optimeringen:
$ jpegoptim image.jpg
Sedan tittar vi på storleken igen:
$ du image.jpg
Som du kan se fungerade jpg-komprimeringen, och om du öppnar bilden i något grafikprogram kommer det inte att finnas någon skillnad eller försämring av kvaliteten, originalet och den färdiga bilden kommer att vara identiska. Till vänster är den optimerade, till höger är originalet:
Om du vill kan du komprimera bilden till en viss storlek, men då blir det inte förlustfritt:
$ jpegoptim --size=250k image.jpeg
Bilden komprimeras, men kvaliteten försämras märkbart. Om det finns många bilder kan man mycket enkelt använda batchkomprimering, det är bara att gå till mappen med bilderna och sedan köra komprimeringskommandot genom att t.ex. ange en mask i stället för en fil:
$ cd images/
jpegoptim *.jpg
Du kan också lista mer än en bild åt gången:
$ jpegoptim image1.jpg image2.jpg
Om du vill optimera alla bilder i en viss mapp kan du använda kommandot xargs tillsammans med find. Komprimera t.ex. alla bilder i den aktuella mappen med move till mappen ~/compressed:
$ find . -name "*.jpg" | xargs jpegoptim -d ~/compressed -p
Det var allt, nu vet du hur du komprimerar jpg-bilder i Linux. Därefter kommer vi att prata om hur man komprimerar png. Detta är också mycket enkelt.
PNG eller Portable Network Graphics är ett bitmappsbildformat som är utformat för att ersätta det ofullkomliga GIF-formatet när det gäller komprimering och färgåtergivning. Storleken på PNG-bilder kan variera kraftigt beroende på flera faktorer som färgdjup, interlacing, före komprimeringsfilter, komprimeringsalgoritm som används etc.
OptiPNG är ett konsolverktyg som gör att du kan optimera PNG-bilder. Nämligen komprimera storlek, återställa metadata, kontrollera integritet etc. Med OptiPNG kan du komprimera filer utan kvalitetsförlust, precis som vi gjorde med Jpeg-formatet.
Om du använder Ubuntu finns programmet i det officiella arkivet och du kan installera det mycket enkelt. För att installera optipng i Debian, Ubuntu och derivat typ:
$ sudo apt install optipng
I Red Hat, CentOS eller Fedora görs det på exakt samma sätt, bara med en annan pakethanterare:
$ sudo yum install optipng
Eller:
$ sudo dnf install optipng
Syntaxen för verktyget är mycket enkel. Du kan använda det på exakt samma sätt som jpegoptim:
$ optipng ioptions file_name.png
Låt oss titta på verktygets alternativ:
-backup
- spara kopior av ändrade filer;-dir
- mapp att skriva filer till;-force
- tvinga fram skrivning av utgående fil;-out
- skriv utgående fil till den angivna filen;-simulate
- utför inga åtgärder utan visar bara resultatet;-o
- Ställ in komprimeringsnivån från 0 till 7.Låt oss nu försöka optimera png i linux. Låt oss först se filstorleken:
$ df -h image.png
För att utföra bildkomprimering använd följande kommando:
$ optipng image.png
Titta sedan igen på storleken, i det här exemplet är skillnaderna inte synliga eftersom bilden är mycket liten, men i en större storlek kommer de att vara betydande:
Även här komprimering png linux förlustfria bilder, vilket innebär att du kommer att få exakt samma bild bara mindre. Du kan också ange komprimeringsnivån, den påverkar inte bildens kvalitet, men den påverkar direkt programmets körtid. Värdet kan vara från 0 till 7 och ju mer, desto starkare komprimering och desto längre blir bearbetningen:
$ optipng -o 7 impge.png
För batchbearbetning av bilder kan du använda samma princip som i arbetet med jpeg:
$ cd images/
$ optipng *.png
Nu vet du hur linux bildoptimering går till.