Betalingsmåter Abuse

Optimalisering av bilder i Linux

16.06.2021, 19:33

Hvis du har mange bilder på datamaskinen og de tar opp for mye plass, er det fullt mulig å redusere størrelsen på dem uten at det går ut over kvaliteten. Dette kan også være svært nyttig når du laster opp bilder til skylagring.

I denne artikkelen skal vi se hvordan Linux-bildeoptimalisering gjøres. Det finnes en rekke grafiske verktøy for å løse denne oppgaven, men i virkeligheten er alt enklere. Nå skal vi se på hvordan du komprimerer bilder ved hjelp av to enkle, men svært effektive kommandolinjeverktøy på konsollen: jpegoptim er et verktøy for å optimalisere og komprimere JPEG-bilder uten tap av kvalitet; optipng er et lite program som lar deg redusere størrelsen på PNG-bilder uten tap av kvalitet.

JPEG og PNG er de vanligste bildeformatene på Internett, så du vil kunne optimalisere nesten alle bilder

Optimalisering av JPEG-bilder

Det finnes et verktøy som heter jpegoptim, et kommandolinjeverktøy som kan brukes til å komprimere JPEG-, JPG- og JFIF-bilder uten tap av kvalitet. Verktøyet optimaliserer bilder basert på Huffman-tabeller. JPEG-algoritmen bruker komprimering som den er, men denne komprimeringen oppnås ved hjelp av kvalitetstap, og her kan vi optimalisere størrelsen uten å endre bildet.

INSTALLERE JPEGOPTIM

Kjør for å installere verktøyet i Ubuntu, Debian og andre baserte distribusjoner:

$ sudo apt install jpegoptim

I Fedora, Red Hat, CentOS og andre distribusjoner basert på disse er det litt mer komplisert, du må først legge til epel-release repository. Du kan gjøre dette med en kommando som denne:

$ sudo yum install epel-release

Eller

$ sudo dnf install epel-release

Deretter kan du installere jpegoptim fra depotet du nettopp har lagt til:

$ sudo yum install jpegoptim

Eller

$ sudo dnf install jpegoptim

HVORDAN DU BRUKER JPEGOPTIM

La oss ta en titt på hvordan du bruker jpegoptim. Det er veldig enkelt å bruke linux-bildekomprimeringsverktøyet. Alt du trenger å gjøre er å kjøre programmet og gi det et filnavn. Dette er syntaksen:

$ jpegoptim optiona file_name.jpeg

La oss se på verktøyets alternativer:

  • -d - spesifiser mappen du vil lagre de ferdige bildene i;
  • -f - tvungen optimalisering;
  • -m - kvalitetsindikator, avbryter tapsfri komprimering og setter kvalitetsnivået fra 0 til 100, jo mer jo bedre;
  • -n - ikke utfør reell optimalisering, bare vis resultatet;
  • -S - angir størrelsen på det ferdige bildet, kan angis i prosent eller kilobyte;
  • -o - erstatter kildefilen;
  • -p - lagre tidsstempler;
  • -P - lagre filrettigheter.

La oss se hvordan du optimaliserer bilder i linux med jpegoptim. La oss først se på den opprinnelige størrelsen:

$ du image.jpg

Optimalisering av bilder i Linux

Deretter gjør vi den enkleste optimaliseringen:

$ jpegoptim image.jpg

Optimalisering av bilder i Linux

Så ser vi på størrelsen igjen:

$ du image.jpg

Optimalisering av bilder i Linux

Som du kan se, har jpg-komprimeringen fungert, og når du åpner bildet i et hvilket som helst grafikkprogram, vil det ikke være noen forskjell eller kvalitetsforringelse, og det opprinnelige og det ferdige bildet vil være identiske. Til venstre er det optimaliserte bildet, til høyre er originalen:

Optimalisering av bilder i Linux

Hvis du vil, kan du komprimere bildet til en viss størrelse, men da vil det ikke være tapsfritt:

$ jpegoptim --size=250k image.jpeg

Bildet blir komprimert, men kvaliteten blir merkbart dårligere. Hvis det er mange bilder, kan du enkelt bruke batchkomprimering, bare gå til mappen med bildene og kjøre komprimeringskommandoen ved å angi en maske i stedet for en fil, for eksempel:

$ cd images/

jpegoptim *.jpg

Optimalisering av bilder i Linux

Du kan også liste opp mer enn ett bilde om gangen:

$ jpegoptim image1.jpg image2.jpg

Hvis du vil optimalisere alle bildene i en bestemt mappe, kan du bruke kommandoen xargs sammen med find. Komprimer for eksempel alle bildene i den aktuelle mappen med move til ~/compressed-mappen:

$ find . -name "*.jpg" | xargs jpegoptim -d ~/compressed -p

Det var det, nå vet du hvordan du komprimerer jpg-bilder i Linux. Deretter vil vi snakke om hvordan du komprimerer png. Dette er også veldig enkelt.

OPTIMALISERING AV PNG-BILDER I LINUX

PNG eller Portable Network Graphics er et bitmap-bildeformat som er utviklet for å erstatte det ufullkomne GIF-formatet når det gjelder komprimering og fargegjengivelse. Størrelsen på PNG-bilder kan variere mye avhengig av flere faktorer, for eksempel fargedybde, sammenfletting, filter før komprimering, komprimeringsalgoritme som brukes osv.

OptiPNG er et konsollverktøy som lar deg optimalisere PNG-bilder. Komprimere størrelsen, gjenopprette metadata, kontrollere integriteten osv. Med OptiPNG kan du komprimere filer uten tap av kvalitet, akkurat som vi gjorde med Jpeg-formatet.

INSTALLERE OPTIPNG

Hvis du bruker Ubuntu, ligger programmet i de offisielle repositoriene, og du kan installere det veldig enkelt. For å installere optipng i Debian, Ubuntu og derivater, skriv:

$ sudo apt install optipng

I Red Hat, CentOS eller Fedora gjøres det på nøyaktig samme måte, bare med en annen pakkebehandler:

$ sudo yum install optipng

Eller:

$ sudo dnf install optipng

BILDEKOMPRIMERING MED OPTIPNG

Syntaksen til verktøyet er veldig enkel. Du kan bruke det på nøyaktig samme måte som jpegoptim:

$ optipng ioptions file_name.png

La oss se på verktøyets alternativer:

  • -backup - lagre kopier av endrede filer;
  • -dir - mappe å skrive filer til;
  • -force - tvinge skriving av utgående fil;
  • -out - skriv utgående fil til den angitte filen;
  • -simulate - ikke utføre noen handlinger, men bare vise resultatet;
  • -o - angi komprimeringsnivå fra 0 til 7.

La oss nå prøve å optimalisere png i linux. La oss først se filstørrelsen:

$ df -h image.png

Optimalisering av bilder i Linux

For å utføre bildekomprimering, bruk følgende kommando:

$ optipng image.png

Se deretter igjen på størrelsen, i dette eksemplet er forskjellene ikke synlige fordi bildet er veldig lite, men i en større størrelse vil de være betydelige:

Også her komprimering png linux tapsfrie bilder, noe som betyr at du vil få nøyaktig det samme bildet bare mindre. Du kan også angi komprimeringsnivået, det påvirker ikke kvaliteten på bildet, men det påvirker direkte kjøretiden til programmet. Verdien kan være fra 0 til 7, og jo mer, jo sterkere komprimering og jo lengre blir behandlingen:

$ optipng -o 7 impge.png

For batchbehandling av bilder kan du bruke samme prinsipp som i arbeidet med jpeg:

$ cd images/

$ optipng *.png

Nå vet du hvordan linux-bildeoptimalisering gjøres.