Weboldal keresés

JPEG vagy PNG képek optimalizálása és tömörítése a Linux parancssorban


Sok képed van, és szeretnéd optimalizálni és tömöríteni a képeket anélkül, hogy elveszítenék eredeti minőségüket, mielőtt feltöltenéd őket bármely felhőbe vagy helyi tárhelyre? Rengeteg GUI-alkalmazás áll rendelkezésre, amelyek segítenek optimalizálni a képeket. Íme azonban két egyszerű parancssori segédprogram a képek optimalizálásához, és ezek:

  1. jpegoptim – egy segédprogram a JPEG-fájlok optimalizálására/tömörítésére a minőség romlása nélkül.
  2. OptiPNG – egy kis program, amely információvesztés nélkül optimalizálja a PNG képeket kisebb méretre.

Ezzel a két eszközzel egyszerre egy vagy több képet optimalizálhat.

JPEG képek tömörítése vagy optimalizálása a parancssorból

A jpegoptim egy parancssori eszköz, amellyel optimalizálható és tömöríthető a JPEG, JPG és JFIF fájl anélkül, hogy elveszítené tényleges minőségét. Ez az eszköz támogatja a veszteségmentes optimalizálást, amely a Huffman táblák optimalizálásán alapul.

Telepítse a jpegoptim-ot Linuxra

A jpegoptim telepítéséhez Linux rendszereire futtassa a következő parancsot a termináljáról.

A Debianon és a származékain
apt-get install jpegoptim
or
sudo apt-get install jpegoptim
RedHat alapú rendszereken

RPM-alapú rendszereken, mint például az RHEL, CentOS, Fedora stb., telepítenie kell és engedélyeznie kell az EPEL adattárat, vagy pedig telepítheti az epel-t lerakat közvetlenül a parancssorból, az ábrán látható módon:

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

Következő lépésként telepítse a jpegoptim programot a tárolóból az alábbi módon:

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

A Jpegoptim képoptimalizáló használata

A jpegoptm szintaxisa a következő:

jpegoptim filename.jpeg
jpegoptim [options] filename.jpeg

Tömörítsük most a következő tecmint.jpeg képet, de a kép optimalizálása előtt először derítse ki a kép tényleges méretét a du paranccsal az ábrán látható módon.

du -sh tecmint.jpeg 

6.2M	tecmint.jpeg

Itt a tényleges fájlméret 6,2 MB, most tömörítse ezt a fájlt a következő futtatással:

jpegoptim tecmint.jpeg 

Nyissa meg a tömörített képet bármelyik képnézegető alkalmazásban, nem fog nagy különbségeket találni. A forrás és a tömörített képek minősége azonos lesz.

A fenti parancs a képeket a lehető legnagyobb méretre optimalizálja. Az adott képet azonban tömörítheti egy adott méretre, de ez letiltja a veszteségmentes optimalizálást.

Például tömörítsük a kép felett 5,6 MB-ról körülbelül 250 KB-ra.

jpegoptim --size=250k tecmint.jpeg

Kötegelt JPEG képtömörítés és -optimalizálás

Megkérdezheti, hogyan lehet tömöríteni a képeket a teljes könyvtárban, ez sem nehéz. Lépjen abba a könyvtárba, ahol a képek vannak.

tecmint@tecmint ~ $ cd img/
tecmint@tecmint ~/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

Ezután futtassa a következő parancsot az összes kép egyidejű tömörítéséhez.

tecmint@tecmint ~/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.

Egyszerre több kiválasztott képet is tömöríthet:

$ 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.

A jpegoptim eszközzel kapcsolatos további részletekért tekintse meg a kézikönyvoldalakat.

man jpegoptim 

PNG-képek tömörítése vagy optimalizálása a parancssorból

Az OptiPNG egy parancssori eszköz, amellyel optimalizálhatja és tömörítheti a PNG-fájlokat (hordozható hálózati grafika) anélkül, hogy elveszítené eredeti minőségét.

Az OptiPNG telepítése és használata nagyon hasonló a jpegoptiméhoz.

Telepítse az OptiPNG-t Linuxra

Az OptiPNG Linux rendszerre történő telepítéséhez futtassa a következő parancsot a termináljáról.

A Debianon és a származékain
apt-get install optipng
or
sudo apt-get install optipng
RedHat alapú rendszereken
yum install optipng
dnf install optipng    [On Fedora 22+ versions]

Megjegyzés: Az optipng telepítéséhez engedélyeznie kell az epel repository alkalmazást az RHEL/CentOS alapú rendszereken program.

Az OptiPNG képoptimalizáló használata

Az optipng általános szintaxisa a következő:

optipng filename.png
optipng [options] filename.png

Tömörítsük a tecmint.png képet, de az optimalizálás előtt először ellenőrizzük a kép tényleges méretét az alábbi módon:

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

Itt a fenti kép tényleges fájlmérete 350 K, most tömörítse ezt a fájlt a következő futtatással:

tecmint@tecmint ~/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)

Ahogy a fenti kimeneten látható, a tecmint.png fájl mérete 30,39%-ra csökkent. Most ismét ellenőrizze a fájl méretét a következővel:

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

Nyissa meg a tömörített képet bármelyik képnézegető alkalmazásban, nem fog jelentős különbséget találni az eredeti és a tömörített fájlok között. A forrás és a tömörített képek minősége azonos lesz.

Kötegelt PNG-képtömörítés és -optimalizálás

A kötegelt vagy több PNG-kép egyidejű tömörítéséhez lépjen be abba a könyvtárba, ahol az összes kép található, és futtassa a következő parancsot a tömörítéshez.

tecmint@tecmint ~ $ cd img/
tecmint@tecmint ~/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)
....

Az optipng funkcióval kapcsolatos további részletekért tekintse meg a kézikönyvoldalakat.

man optipng

Következtetés

Ha Ön webmester, és optimalizált képeket szeretne megjeleníteni webhelyén vagy blogjában, ezek az eszközök nagyon hasznosak lehetnek. Ezek az eszközök nem csak a lemezterületet takarítják meg, hanem a sávszélességet is csökkentik a képek feltöltése közben.

Ha tud más jobb módszert is ugyanezen cél elérésére, ossza meg velünk megjegyzésekben, és ne felejtse el megosztani ezt a cikket közösségi hálózatain, és támogasson minket.