Betalingsmetoder Abuse

Optimering af billeder i Linux

16.06.2021, 19:33

Hvis du har nok billeder på din computer, og de optager for meget plads, er det bestemt muligt at reducere deres størrelse, selv uden at miste kvalitet. Det kan også være meget nyttigt, når man uploader billeder til cloud storage.

I denne artikel skal vi se, hvordan Linux-billedoptimering foregår. Der findes en række grafiske værktøjer til at løse denne opgave, men i virkeligheden er alting enklere. Nu skal vi se på, hvordan man komprimerer billeder ved hjælp af to enkle, men meget effektive kommandolinjeværktøjer: jpegoptim er et værktøj til at optimere og komprimere JPEG-billeder uden tab af kvalitet; optipng er et lille program, som gør det muligt at reducere størrelsen på PNG-billeder uden tab af kvalitet.

JPEG og PNG er de mest almindelige billedformater på internettet, så du vil kunne optimere næsten alle billeder.

Optimering af JPEG-billeder

Der findes et værktøj, der hedder jpegoptim, et kommandolinjeværktøj, der kan bruges til at komprimere JPEG-, JPG- og JFIF-billeder uden tab af kvalitet. Værktøjet optimerer billeder baseret på Huffman-tabeller. JPEG-algoritmen bruger komprimering, som den er, men denne komprimering opnås ved hjælp af kvalitetstab, og her kan vi optimere størrelsen uden at ændre billedet.

INSTALLATION AF JPEGOPTIM

For at installere værktøjet i Ubuntu, Debian og baserede distributioner skal du køre:

$ sudo apt install jpegoptim

I Fedora, Red Hat, CentOS og andre distributioner baseret på dem er tingene lidt mere komplicerede, du skal først tilføje epel-release repository. Det kan du gøre med en kommando som denne:

$ sudo yum install epel-release

Eller:

$ sudo dnf install epel-release

Derefter kan du installere jpegoptim fra det repository, du lige har tilføjet:

$ sudo yum install jpegoptim

Eller:

$ sudo dnf install jpegoptim

SÅDAN BRUGER DU JPEGOPTIM

Lad os se på, hvordan man bruger jpegoptim. Det er meget nemt at bruge linux-billedkomprimeringsværktøjet. Det eneste, du skal gøre, er at køre programmet og give det et filnavn. Dette er syntaksen:

$ jpegoptim optiona file_name.jpeg

Lad os se på værktøjets indstillinger:

  • -d - angiv den mappe, hvor de færdige billeder skal gemmes;
  • -f - tvungen optimering;
  • -m - kvalitetsindikator, annullerer tabsfri komprimering og indstiller kvalitetsniveauet fra 0 til 100, jo mere desto bedre;
  • -n - udfører ikke egentlig optimering, viser kun resultatet;
  • -S - indstiller størrelsen på det færdige billede, kan angives i procent eller kilobyte;
  • -o - erstatter kildefilen;
  • -p - gemmer tidsstempler;
  • -P - gemme filrettigheder.

Lad os se, hvordan man optimerer billeder i Linux med jpegoptim. Lad os først se på den oprindelige størrelse:

$ du image.jpg

Optimering af billeder i Linux

Dernæst foretager vi den enkleste optimering:

$ jpegoptim image.jpg

Optimering af billeder i Linux

Så ser vi på størrelsen igen:

$ du image.jpg

Optimering af billeder i Linux

Som du kan se, virkede jpg-komprimeringen, og hvis du åbner billedet i et hvilket som helst grafikprogram, vil der ikke være nogen forskel eller forringelse af kvaliteten, det oprindelige og det færdige billede vil være identiske. Til venstre ses det optimerede billede, til højre ses originalen:

Optimering af billeder i Linux

Hvis du vil, kan du komprimere billedet til en bestemt størrelse, men så bliver det ikke tabsfrit:

$ jpegoptim --size=250k image.jpeg

Billedet vil blive komprimeret, men kvaliteten vil blive mærkbart forringet. Hvis der er mange billeder, kan du meget nemt bruge batch-komprimering, bare gå til mappen med billederne og så køre komprimeringskommandoen ved at angive en maske i stedet for f.eks. en fil:

$ cd images/

jpegoptim *.jpg

Optimering af billeder i Linux

Du kan også liste mere end ét billede ad gangen:

$ jpegoptim image1.jpg image2.jpg

Hvis du vil optimere alle billederne i en bestemt mappe, kan du bruge kommandoen xargs sammen med find. Komprimer f.eks. alle billeder i den aktuelle mappe med move til mappen ~/compressed:

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

Det var det, nu ved du, hvordan man komprimerer jpg-billeder i Linux. Dernæst vil vi tale om, hvordan man komprimerer png. Det er også meget enkelt.

OPTIMERING AF PNG-BILLEDER I LINUX

PNG eller Portable Network Graphics er et bitmap-billedformat, der er designet til at erstatte det uperfekte GIF-format med hensyn til komprimering og farvegengivelse. Størrelsen på PNG-billeder kan variere meget afhængigt af flere faktorer som f.eks. farvedybde, interlacing, før komprimeringsfilter, anvendt komprimeringsalgoritme osv.

OptiPNG er et konsolværktøj, der giver dig mulighed for at optimere PNG-billeder. Nemlig komprimere størrelse, gendanne metadata, kontrollere integritet osv. Med OptiPNG kan du komprimere filer uden tab af kvalitet, ligesom vi gjorde med Jpeg-formatet.

INSTALLER OPTIPNG

Hvis du bruger Ubuntu, ligger programmet i de officielle repositories, og du kan installere det meget nemt. Skriv for at installere optipng i Debian, Ubuntu og derivater:

$ sudo apt install optipng

I Red Hat, CentOS eller Fedora gøres det på præcis samme måde, bare med en anden pakkehåndtering:

$ sudo yum install optipng

Eller:

$ sudo dnf install optipng

BILLEDKOMPRIMERING MED OPTIPNG

Syntaksen for værktøjet er meget enkel. Du kan bruge det på præcis samme måde som jpegoptim:

$ optipng ioptions file_name.png

Lad os se på værktøjets muligheder:

  • -backup - gem kopier af ændrede filer;
  • -dir - mappe at skrive filer til;
  • -force - tvinge til at skrive en udgående fil;
  • -out - skriv udgående fil til den angivne fil;
  • -simulate - udfør ikke nogen handlinger, men vis kun resultatet;
  • -o - indstiller komprimeringsniveauet fra 0 til 7.

Lad os nu prøve at optimere png i linux. Lad os først se på filstørrelsen:

$ df -h image.png

Optimering af billeder i Linux

Brug følgende kommando til at udføre billedkomprimering:

$ optipng image.png

Se så igen på størrelsen, i dette eksempel er forskellene ikke synlige, fordi billedet er meget lille, men i en større størrelse vil de være betydelige:

Også her er komprimeringen png linux tabsfri, hvilket betyder, at du får præcis det samme billede, bare mindre. Du kan også angive komprimeringsniveauet, det påvirker ikke billedets kvalitet, men det påvirker direkte programmets køretid. Værdien kan være fra 0 til 7, og jo mere, jo stærkere er komprimeringen, og jo længere vil behandlingen vare:

$ optipng -o 7 impge.png

Til batchbehandling af billeder kan du bruge samme princip som i arbejdet med jpeg:

$ cd images/

$ optipng *.png

Nu ved du, hvordan linux-billedoptimering foregår.