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.
JPEG og PNG er de vanligste bildeformatene på Internett, så du vil kunne optimalisere nesten alle 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.
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
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
Deretter gjør vi den enkleste optimaliseringen:
$ jpegoptim image.jpg
Så ser vi på størrelsen igjen:
$ du image.jpg
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:
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
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.
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.
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
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
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.