Betalningsmetoder Abuse

Optimera bilder i Linux

16.06.2021, 19:33

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.

I den här artikeln ska vi titta närmare på hur man optimerar bilder i Linux. Det finns en mängd olika grafiska verktyg för att lösa den här uppgiften, men i verkligheten är allt enklare. Nu ska vi titta på hur man komprimerar bilder med hjälp av två enkla men mycket effektiva kommandoradsverktyg i konsolen: jpegoptim är ett verktyg för att optimera och komprimera JPEG-bilder utan kvalitetsförlust; optipng är ett litet program som gör att du kan minska storleken på PNG-bilder utan kvalitetsförlust.

JPEG och PNG är de vanligaste bildformaten på internet, så du kommer att kunna optimera nästan alla bilder

Optimera JPEG-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.

INSTALLERA JPEGOPTIM

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

HUR MAN ANVÄNDER 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

Optimera bilder i Linux

Därefter gör vi den enklaste optimeringen:

$ jpegoptim image.jpg

Optimera bilder i Linux

Sedan tittar vi på storleken igen:

$ du image.jpg

Optimera bilder i Linux

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:

Optimera bilder i Linux

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

Optimera bilder i Linux

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.

OPTIMERING AV PNG-BILDER I LINUX

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.

INSTALLERA OPTIPNG

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

BILDKOMPRIMERING MED 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

Optimera bilder i Linux

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.