Dacă aveți suficiente imagini pe computer și acestea ocupă prea mult spațiu, este cu siguranță posibil să le reduceți dimensiunea fără a pierde din calitate. Acest lucru poate fi, de asemenea, foarte util atunci când încărcați imagini în cloud storage.
JPEG și PNG sunt cele mai comune formate de imagine de pe internet, astfel încât veți putea optimiza aproape toate imaginile
Există un utilitar numit jpegoptim, un instrument de linie de comandă care poate fi utilizat pentru a comprima imaginile JPEG, JPG și JFIF fără pierderi de calitate. Utilitarul optimizează imaginile pe baza tabelelor Huffman. Algoritmul JPEG utilizează compresia așa cum este, dar această compresie este obținută folosind pierderea calității, iar aici putem optimiza dimensiunea fără a modifica imaginea.
Pentru a instala utilitarul în Ubuntu, Debian și distribuțiile bazate pe acestea, executați:
$ sudo apt install jpegoptim
În Fedora, Red Hat, CentOS și alte distribuții bazate pe acestea lucrurile sunt un pic mai complicate, va trebui să adăugați mai întâi depozitul epel-release. Puteți face acest lucru cu o comandă ca aceasta:
$ sudo yum install epel-release
Sau:
$ sudo dnf install epel-release
Apoi puteți instala jpegoptim din depozitul pe care tocmai l-ați adăugat:
$ sudo yum install jpegoptim
Or:
$ sudo dnf install jpegoptim
Să aruncăm o privire la modul de utilizare a jpegoptim. Utilizarea utilitarului linux de compresie a imaginilor este foarte ușoară. Tot ce trebuie să faceți este să executați programul și să-i treceți un nume de fișier. Aceasta este sintaxa:
$ jpegoptim optiona file_name.jpeg
Să ne uităm la opțiunile utilitarului:
-d
- specificați folderul în care să salvați imaginile finalizate;-f
- optimizare forțată;-m
- indicator de calitate, anulează compresia fără pierderi și stabilește nivelul de calitate de la 0 la 100, cu cât mai mult cu atât mai bine;-n
- nu efectuează optimizarea reală, ci doar afișează rezultatul;-S
- stabilește dimensiunea imaginii finite, poate fi specificată în procente sau kilobyți;-o
- înlocuiește fișierul sursă;-p
- salvează timestamps;-P
- salvează drepturile fișierului.Să vedem cum să optimizăm imaginile în linux cu jpegoptim. În primul rând, să ne uităm la dimensiunea originală:
$ du image.jpg
Apoi facem cea mai simplă optimizare:
$ jpegoptim image.jpg
Apoi ne uităm din nou la dimensiune:
$ du image.jpg
După cum puteți vedea, compresia jpg a funcționat, iar la deschiderea imaginii în orice program grafic nu va exista nicio diferență sau degradare a calității, imaginea originală și cea finalizată vor fi identice. În stânga este cea optimizată, în dreapta este originalul:
Dacă doriți, puteți comprima imaginea la o anumită dimensiune, dar atunci nu va fi fără pierderi:
$ jpegoptim --size=250k image.jpeg
Imaginea va fi comprimată, dar calitatea se va deteriora simțitor. Dacă există o mulțime de imagini, puteți utiliza foarte ușor compresia pe loturi, pur și simplu mergeți la folderul cu imagini și apoi rulați comanda de compresie specificând o mască în loc de un fișier, de exemplu:
$ cd images/
jpegoptim *.jpg
De asemenea, puteți lista mai multe imagini în același timp:
$ jpegoptim image1.jpg image2.jpg
Pentru a optimiza toate imaginile dintr-un anumit dosar, puteți utiliza comanda xargs împreună cu find. De exemplu, comprimați toate imaginile din folderul curent cu move to the ~/compressed folder:
$ find . -name "*.jpg" | xargs jpegoptim -d ~/compressed -p
Asta e tot, acum știți cum să comprimați imagini jpg în Linux. În continuare, vom vorbi despre cum să comprimați imaginile png. Acest lucru este, de asemenea, foarte simplu.
PNG sau Portable Network Graphics este un format de imagine bitmap conceput pentru a înlocui formatul imperfect GIF în ceea ce privește compresia și reproducerea culorilor. Dimensiunea imaginilor PNG poate varia foarte mult în funcție de mai mulți factori, cum ar fi adâncimea culorilor, întrepătrunderea, înainte de filtrul de compresie, algoritmul de compresie utilizat etc.
OptiPNG este un utilitar de consolă care vă permite să optimizați imaginile PNG. Și anume comprimarea dimensiunii, recuperarea metadatelor, verificarea integrității etc. Cu OptiPNG puteți comprima fișiere fără pierderi de calitate, la fel cum am făcut cu formatul Jpeg.
Dacă utilizați Ubuntu, programul se află în depozitele oficiale și îl puteți instala foarte ușor. Pentru a instala optipng în Debian, Ubuntu și derivate tastați:
$ sudo apt install optipng
În Red Hat, CentOS sau Fedora se face exact la fel, doar un alt manager de pachete:
$ sudo yum install optipng
Sau:
$ sudo dnf install optipng
Sintaxa utilitarului este foarte simplă. Îl puteți utiliza exact în același mod ca jpegoptim:
$ optipng ioptions file_name.png
Să ne uităm la opțiunile utilitarului:
-backup
- salvează copii ale fișierelor modificate;-dir
- folder în care să se scrie fișierele;-force
- forțează scrierea fișierului de ieșire;-out
- scrie fișierul de ieșire
în fișierul specificat;-simulate
- nu efectuează nicio acțiune, ci doar afișează rezultatul;-o
- setează nivelul de compresie de la 0 la 7.Acum să încercăm să optimizăm png în linux. Mai întâi să vedem dimensiunea fișierului:
$ df -h image.png
Pentru a efectua compresia imaginii, utilizați următoarea comandă:
$ optipng image.png
Apoi uitați-vă din nou la dimensiune, în acest exemplu diferențele nu sunt vizibile deoarece imaginea este foarte mică, dar la o dimensiune mai mare acestea vor fi semnificative:
Și aici compresia png linux imagini fără pierderi, ceea ce înseamnă că veți obține exact aceeași imagine, doar că mai mică. De asemenea, puteți specifica nivelul de compresie, acesta nu afectează calitatea imaginii, dar afectează direct timpul de execuție al programului. Valoarea poate fi de la 0 la 7 și cu cât este mai mare, cu atât compresia este mai puternică și procesarea va fi mai lungă:
$ optipng -o 7 impge.png
Pentru procesarea pe loturi a imaginilor puteți utiliza același principiu ca și în lucrul cu jpeg:
$ cd images/
$ optipng *.png
Acum știți cum se face optimizarea imaginilor în linux.