Ha elég kép van a számítógépén, és túl sok helyet foglalnak, akkor a méretük mindenképpen csökkenthető a minőségromlás nélkül is. Ez akkor is nagyon hasznos lehet, ha képeket töltesz fel a felhőalapú tárhelyre.
A JPEG és a PNG a leggyakoribb képformátumok az interneten, így szinte minden képet optimalizálhat.
Létezik egy jpegoptim nevű segédprogram, egy parancssori eszköz, amely a JPEG, JPG és JFIF képek minőségromlás nélküli tömörítésére használható. A segédprogram Huffman-táblázatok alapján optimalizálja a képeket. A JPEG algoritmus a tömörítést úgy használja, ahogy van, de ezt a tömörítést minőségromlással érjük el, és itt optimalizálhatjuk a méretet anélkül, hogy a képet megváltoztatnánk.
A segédprogram telepítéséhez Ubuntu, Debian és alapú disztribúciókban futtassa a következőt:
$ sudo apt install jpegoptim
Fedora, Red Hat, CentOS és más ezekre épülő disztribúciókban a dolgok kicsit bonyolultabbak, először hozzá kell adni az epel-release tárolót. Ezt egy ilyen paranccsal teheted meg:
$ sudo yum install epel-release
Vagy:
$ sudo dnf install epel-release
Ezután telepítheti a jpegoptimot az imént hozzáadott tárolóból:
$ sudo yum install jpegoptim
Or:
$ sudo dnf install jpegoptim
Nézzük meg, hogyan használjuk a jpegoptim-ot. A linuxos képtömörítő segédprogram használata nagyon egyszerű. Mindössze annyit kell tenned, hogy futtatod a programot, és átadsz neki egy fájlnevet. Ez a szintaxis:
$ jpegoptim optiona file_name.jpeg
Nézzük meg a segédprogram beállításait:
-d
- adja meg a mappát, ahová a kész képeket menteni kívánja;-f
- erőltetett optimalizálás;-m
- minőségjelző, megszünteti a veszteségmentes tömörítést, és beállítja a minőségi szintet 0 és 100 között, minél több, annál jobb;-n
- nem végez valódi optimalizálást, csak az eredményt mutatja meg;-S
- a kész kép méretének beállítása, megadható százalékban vagy kilobájtban;-o
- a forrásfájl cseréje;-p
- időbélyegek mentése;-P
- fájljogok mentése.Lássuk, hogyan optimalizálhatunk képeket linuxon a jpegoptim segítségével. Először nézzük meg az eredeti méretet:
$ du image.jpg
Ezután elvégezzük a legegyszerűbb optimalizálást:
$ jpegoptim image.jpg
Ezután ismét a méretet nézzük meg:
$ du image.jpg
Mint látható, a jpg tömörítés bevált, és a képet bármelyik grafikai programban megnyitva nem lesz különbség vagy minőségromlás, az eredeti és a kész kép azonos lesz. Balra az optimalizált, jobbra az eredeti:
Ha akarod, tömörítheted a képet egy bizonyos méretig, de akkor nem lesz veszteségmentes:
$ jpegoptim --size=250k image.jpeg
A kép tömörítve lesz, de a minősége érezhetően romlik. Ha sok kép van, nagyon egyszerűen használhatod a kötegelt tömörítést, csak menj a képeket tartalmazó mappába, majd futtasd a tömörítési parancsot például fájl helyett egy maszk megadásával:
$ cd images/
jpegoptim *.jpg
Egyszerre több képet is listázhat:
$ jpegoptim image1.jpg image2.jpg
A kereséssel együtt használhatja az xargs parancsot is. Például az aktuális mappában lévő összes kép tömörítése a move to the ~/compressed mappába való áthelyezéssel:
$ find . -name "*.jpg" | xargs jpegoptim -d ~/compressed -p
Ennyi, most már tudod, hogyan kell tömöríteni a jpg képeket Linuxon. A következőkben arról fogunk beszélni, hogyan lehet png képeket tömöríteni. Ez is nagyon egyszerű.
A PNG vagy Portable Network Graphics egy bittérképes képformátum, amelyet a tömörítés és a színvisszaadás szempontjából tökéletlen GIF formátum felváltására terveztek. A PNG-képek mérete nagymértékben változhat több tényezőtől függően, mint például a színmélység, az átlapolás, a tömörítés előtti szűrő, az alkalmazott tömörítési algoritmus stb.
Az OptiPNG egy konzolos segédprogram, amely lehetővé teszi a PNG képek optimalizálását. Nevezetesen tömöríti a méretet, helyreállítja a metaadatokat, ellenőrzi az integritást stb. Az OptiPNG-vel minőségromlás nélkül tömörítheti a fájlokat, ahogyan azt a Jpeg formátummal tettük.
Ha Ubuntut használsz, a program megtalálható a hivatalos tárolókban, és nagyon egyszerűen telepítheted. Az optipng telepítéséhez Debianban, Ubuntuban és származékokban írd be a következőt:
$ sudo apt install optipng
Red Hatban, CentOS-ben vagy Fedorában pontosan ugyanígy történik, csak más csomagkezelővel:
$ sudo yum install optipng
Vagy:
$ sudo dnf install optipng
A segédprogram szintaxisa nagyon egyszerű. Pontosan ugyanúgy használható, mint a jpegoptim:
$ optipng ioptions file_name.png
Nézzük meg a segédprogram beállításait:
-backup
- a módosított fájlok másolatainak mentése;-dir
- mappa, ahová a fájlokat írni kell;-force
- kimenő fájl írásának kikényszerítése;-out
- kimenő
fájl írása a megadott fájlba;-simulate
- nem hajt végre semmilyen műveletet, csak az eredményt mutatja meg;-o
- a tömörítési szint beállítása 0 és 7 között.Most próbáljuk meg optimalizálni a png-t linuxon. Először nézzük meg a fájlméretet:
$ df -h image.png
A kép tömörítéséhez használjuk a következő parancsot:
$ optipng image.png
Ezután ismét nézzük meg a méretet, ebben a példában a különbségek nem látszanak, mert a kép nagyon kicsi, de nagyobb méretnél már jelentősek lesznek:
Itt is tömörítés png linux veszteségmentes képek, ami azt jelenti, hogy pontosan ugyanazt a képet kapja, csak kisebb. A tömörítési szintet is megadhatod, ez a kép minőségét nem befolyásolja, de a program futási idejét közvetlenül befolyásolja. Az érték 0 és 7 között lehet, és minél több, annál erősebb a tömörítés és annál hosszabb lesz a feldolgozás:
$ optipng -o 7 impge.png
A képek kötegelt feldolgozásához ugyanazt az elvet használhatja, mint a jpeggel való munkánál:
$ cd images/
$ optipng *.png
Most már tudja, hogyan történik a linuxos képoptimalizálás.