Kuidas optimeerida ja tihendada JPEG- või PNG-pilte Linuxi käsureal


Kas teil on palju pilte ja soovite enne pilvedesse või kohalikesse hoidlatesse üleslaadimist neid optimeerida ja tihendada, kaotamata nende algset kvaliteeti? Saadaval on palju GUI-rakendusi, mis aitavad teil pilte optimeerida. Kuid siin on piltide optimeerimiseks kaks lihtsat käsurea utiliiti:

  1. jpegoptim - on utiliit JPEG-failide optimeerimiseks/kokkusurumiseks kvaliteeti kaotamata.
  2. OptiPNG - on väike programm, mis optimeerib PNG-pilte väiksemaks, kaotamata teavet.

Nende kahe tööriista abil saate korraga optimeerida ühe või mitu pilti.

JPEG-piltide tihendamine või optimeerimine käsurealt

jpegoptim on käsurea tööriist, mida saab kasutada JPEG-, JPG- ja JFIF-failide optimeerimiseks ja tihendamiseks, kaotamata selle tegelikku kvaliteeti. See tööriist toetab kadudeta optimeerimist, mis põhineb Huffmani tabelite optimeerimisel.

Jpegoptimi installimiseks oma Linuxi süsteemidesse käivitage terminalist järgmine käsk.

# apt-get install jpegoptim
or
$ sudo apt-get install jpegoptim

RPM-põhistes süsteemides, nagu RHEL, CentOS, Fedora jne, peate installima ja lubama EPEL-hoidla või alternatiivina võite installida epeli hoidla otse käsurealt, nagu näidatud:

# yum install epel-release
# dnf install epel-release    [On Fedora 22+ versions]

Järgmine installige programm jpegoptim hoidlast, nagu näidatud:

# yum install jpegoptim
# dnf install jpegoptim    [On Fedora 22+ versions]

Jpegoptm süntaks on:

$ jpegoptim filename.jpeg
$ jpegoptim [options] filename.jpeg

Pakkem nüüd järgmine tecmint.jpeg pilt kokku, kuid enne pildi optimeerimist uuri kõigepealt pildi tegelik suurus, kasutades du käsku, nagu näidatud.

$ du -sh tecmint.jpeg 

6.2M	tecmint.jpeg

Siin on faili tegelik suurus 6,2 MB, pakkige see fail nüüd käivitades:

$ jpegoptim tecmint.jpeg 

Avage tihendatud pilt mis tahes pildivaaturi rakenduses, te ei leia suuri erinevusi. Allikal ja tihendatud piltidel on sama kvaliteet.

Ülaltoodud käsk optimeerib pildid maksimaalse võimaliku suurusega. Siiski saate antud pildi tihendada kindla suurusega, kuid see keelab kadudeta optimeerimise.

Näiteks pakkige pilt kokku 5.6 MB-st umbes 250k-ni.

$ jpegoptim --size=250k tecmint.jpeg

Võite küsida, kuidas tihendada pilte kogu kataloogis, see pole ka keeruline. Minge kataloogi, kus teil on pildid.

[email  ~ $ cd img/
[email  ~/img $ ls -l
total 65184
-rwxr----- 1 tecmint tecmint 6680532 Jan 19 12:21 DSC_0310.JPG
-rwxr----- 1 tecmint tecmint 6846248 Jan 19 12:21 DSC_0311.JPG
-rwxr----- 1 tecmint tecmint 7174430 Jan 19 12:21 DSC_0312.JPG
-rwxr----- 1 tecmint tecmint 6514309 Jan 19 12:21 DSC_0313.JPG
-rwxr----- 1 tecmint tecmint 6755589 Jan 19 12:21 DSC_0314.JPG
-rwxr----- 1 tecmint tecmint 6789763 Jan 19 12:21 DSC_0315.JPG
-rwxr----- 1 tecmint tecmint 6958387 Jan 19 12:21 DSC_0316.JPG
-rwxr----- 1 tecmint tecmint 6463855 Jan 19 12:21 DSC_0317.JPG
-rwxr----- 1 tecmint tecmint 6614855 Jan 19 12:21 DSC_0318.JPG
-rwxr----- 1 tecmint tecmint 5931738 Jan 19 12:21 DSC_0319.JPG

Seejärel käivitage järgmine käsk kõigi piltide korraga pakkimiseks.

[email  ~/img $ jpegoptim *.JPG
DSC_0310.JPG 6000x4000 24bit N Exif  [OK] 6680532 --> 5987094 bytes (10.38%), optimized.
DSC_0311.JPG 6000x4000 24bit N Exif  [OK] 6846248 --> 6167842 bytes (9.91%), optimized.
DSC_0312.JPG 6000x4000 24bit N Exif  [OK] 7174430 --> 6536500 bytes (8.89%), optimized.
DSC_0313.JPG 6000x4000 24bit N Exif  [OK] 6514309 --> 5909840 bytes (9.28%), optimized.
DSC_0314.JPG 6000x4000 24bit N Exif  [OK] 6755589 --> 6144165 bytes (9.05%), optimized.
DSC_0315.JPG 6000x4000 24bit N Exif  [OK] 6789763 --> 6090645 bytes (10.30%), optimized.
DSC_0316.JPG 6000x4000 24bit N Exif  [OK] 6958387 --> 6354320 bytes (8.68%), optimized.
DSC_0317.JPG 6000x4000 24bit N Exif  [OK] 6463855 --> 5909298 bytes (8.58%), optimized.
DSC_0318.JPG 6000x4000 24bit N Exif  [OK] 6614855 --> 6016006 bytes (9.05%), optimized.
DSC_0319.JPG 6000x4000 24bit N Exif  [OK] 5931738 --> 5337023 bytes (10.03%), optimized.

Samuti saate korraga tihendada mitu valitud pilti.

$ jpegoptim DSC_0310.JPG DSC_0311.JPG DSC_0312.JPG 
DSC_0310.JPG 6000x4000 24bit N Exif  [OK] 6680532 --> 5987094 bytes (10.38%), optimized.
DSC_0311.JPG 6000x4000 24bit N Exif  [OK] 6846248 --> 6167842 bytes (9.91%), optimized.
DSC_0312.JPG 6000x4000 24bit N Exif  [OK] 7174430 --> 6536500 bytes (8.89%), optimized.

Jpegoptim tööriista kohta lisateabe saamiseks vaadake man-lehti.

$ man jpegoptim 

Pakkige või optimeerige PNG-pildid käsurealt

OptiPNG on käsurea tööriist, mida kasutatakse PNG-failide (kaasaskantav võrgugraafika) optimeerimiseks ja tihendamiseks, kaotamata selle algset kvaliteeti.

OptiPNG installimine ja kasutamine on jpegoptimiga väga sarnane.

OptiPNG installimiseks oma Linuxi süsteemidesse käivitage terminalist järgmine käsk.

# apt-get install optipng
or
$ sudo apt-get install optipng
# yum install optipng
# dnf install optipng    [On Fedora 22+ versions]

Märkus. Optipng-programmi installimiseks peab teie RHEL/CentOS-põhistel süsteemidel olema lubatud epeli hoidla.

Optipng'i üldine süntaks on:

$ optipng filename.png
$ optipng [options] filename.png

Pakkem pilt tecmint.png kokku, kuid enne optimeerimist kontrollige kõigepealt pildi tegelikku suurust, nagu näidatud

[email  ~/img $ ls -lh tecmint.png 
-rw------- 1 tecmint tecmint 350K Jan 19 12:54 tecmint.png

Siin on ülaltoodud pildi tegelik failisuurus 350K, pakkige see fail nüüd käivitades:

[email  ~/img $ optipng tecmint.png 
OptiPNG 0.6.4: Advanced PNG optimizer.
Copyright (C) 2001-2010 Cosmin Truta.

** Processing: tecmint.png
1493x914 pixels, 4x8 bits/pixel, RGB+alpha
Reducing image to 3x8 bits/pixel, RGB
Input IDAT size = 357525 bytes
Input file size = 358098 bytes

Trying:
  zc = 9  zm = 8  zs = 0  f = 0		IDAT size = 249211
                               
Selecting parameters:
  zc = 9  zm = 8  zs = 0  f = 0		IDAT size = 249211

Output IDAT size = 249211 bytes (108314 bytes decrease)
Output file size = 249268 bytes (108830 bytes = 30.39% decrease)

Nagu ülaltoodud väljundist näha, on faili tecmint.png suurust vähendatud kuni 30,39%. Nüüd kontrollige faili suurust uuesti, kasutades:

[email  ~/img $ ls -lh tecmint.png 
-rw-r--r-- 1 tecmint tecmint 244K Jan 19 12:56 tecmint.png

Avage tihendatud pilt mis tahes pildivaaturi rakenduses, te ei leia originaal- ja tihendatud failide vahel suuri erinevusi. Allikal ja tihendatud piltidel on sama kvaliteet.

Pakkide või mitme PNG-pildi korraga pakkimiseks minge lihtsalt kataloogi, kus asuvad kõik pildid, ja käivitage tihendamiseks järgmine käsk.

[email  ~ $ cd img/
[email  ~/img $ optipng *.png

OptiPNG 0.6.4: Advanced PNG optimizer.
Copyright (C) 2001-2010 Cosmin Truta.

** Processing: Debian-8.png
720x345 pixels, 3x8 bits/pixel, RGB
Input IDAT size = 95151 bytes
Input file size = 95429 bytes

Trying:
  zc = 9  zm = 8  zs = 0  f = 0		IDAT size = 81388
                               
Selecting parameters:
  zc = 9  zm = 8  zs = 0  f = 0		IDAT size = 81388

Output IDAT size = 81388 bytes (13763 bytes decrease)
Output file size = 81642 bytes (13787 bytes = 14.45% decrease)

** Processing: Fedora-22.png
720x345 pixels, 4x8 bits/pixel, RGB+alpha
Reducing image to 3x8 bits/pixel, RGB
Input IDAT size = 259678 bytes
Input file size = 260053 bytes

Trying:
  zc = 9  zm = 8  zs = 0  f = 5		IDAT size = 222479
  zc = 9  zm = 8  zs = 1  f = 5		IDAT size = 220311
  zc = 1  zm = 8  zs = 2  f = 5		IDAT size = 216744
                               
Selecting parameters:
  zc = 1  zm = 8  zs = 2  f = 5		IDAT size = 216744

Output IDAT size = 216744 bytes (42934 bytes decrease)
Output file size = 217035 bytes (43018 bytes = 16.54% decrease)
....

Lisateavet optipng-i kohta leiate manuaallehtedelt.

$ man optipng

Järeldus

Kui olete veebimeister ja soovite oma veebisaidil või ajaveebis kuvada optimeeritud pilte, võivad need tööriistad olla väga käepärased. Need tööriistad säästavad mitte ainult kettaruumi, vaid vähendavad ka piltide üleslaadimise ajal ribalaiust.

Kui teate mõnda muud paremat viisi sama asja saavutamiseks, andke meile sellest teada kommentaaride kaudu ja ärge unustage seda artiklit oma suhtlusvõrgustikes jagada ja meid toetada.