Како променити величину сликовних датотека на Линук-у

Veličina datoteka sa slikama može biti poprilično velika. Čak i kada radite sa JPEG formatom, veličina fajla lako može preći 2, pa čak i 5 MB. Ukoliko koristite RAW format, fajlovi su još veći. Ako imate potrebu da čuvate obimnu biblioteku slika na svom Linux računaru, biće neophodno da naučite kako da uštedite prostor. Jedan od najboljih načina za to je promena veličine slika. Smanjivanjem dimenzija slika, možete značajno smanjiti ukupnu veličinu vaše biblioteke.

Promena veličine slikovnih datoteka je delikatan posao, jer preterano smanjivanje može znatno uticati na kvalitet. Zato ćemo u ovom vodiču objasniti kako pravilno smanjiti slike, čuvajući pritom prihvatljiv kvalitet.

Instalacija ImageMagick-a

Linux operativni sistem je poznat po mnogobrojnim korisnim i jedinstvenim alatima. Jedan od njih je Convert. To je jednostavan program, deo ImageMagick paketa, koji omogućava manipulaciju slikama putem komandne linije. Da biste koristili Convert, potrebno je da instalirate ImageMagick. Većina Linux distribucija ga ima instaliranog po defaultu, ali ukoliko to nije slučaj, instalacija je prilično jednostavna.

Da biste instalirali ImageMagick paket, otvorite terminal i unesite odgovarajuću komandu za vašu Linux distribuciju:

Ubuntu

sudo apt install imagemagick

Debian

sudo apt-get install imagemagick

Arch Linux

sudo pacman -S imagemagick

Fedora

sudo dnf install imagemagick

openSUSE

sudo zypper install imagemagick

Druge Linux distribucije

Kao što je već spomenuto, ImageMagick je ključna komponenta za mnoge Linux programe za prikazivanje i manipulaciju slikama. Zbog toga je moguće da vaša distribucija koristi neki njegovu alternativu. Potražite „ImageMagick“ u menadžeru paketa vašeg sistema i instalirajte ga. Nakon instalacije, imaćete pristup Convert alatki.

Kompresovanje slika pomoću Convert

Kompresovanje slika često rezultira gubitkom kvaliteta. Za manje datoteke uz očuvanje kvaliteta, najbolje je promeniti im dimenzije. Na ovaj način možete zadržati dobar kvalitet slike, a veličina datoteke će biti znatno manja.

Da biste promenili veličinu slike pomoću Convert-a, otvorite terminal i locirajte direktorijum u kom se nalazi slika, a zatim koristite cd komandu da se prebacite u taj direktorijum. U ovom primeru, slike se nalaze u direktorijumu `/home/username/Pictures/`.

cd ~/Pictures/

Sada koristite convert komandu da promenite veličinu slike. Preporučuje se da prvo pokušate sa smanjenjem od oko 20%, jer se time postiže dobar balans između kvaliteta i veličine fajla. Ako želite dodatno smanjiti veličinu, pokušajte sa 25%, 30% ili 40%. Imajte na umu da veće smanjenje veličine slike direktno utiče na njen kvalitet.

convert -resize 20% image-file-name-original.jpg image-file-name-resized.jpg

Convert podržava različite formate slika, ne samo JPEG kao u ovom primeru. Da biste promenili veličinu slike drugog formata, jednostavno zamenite odgovarajuću ekstenziju u komandi, kao i željeni procenat smanjenja. Obavezno navedite i originalno ime fajla i željeno ime izlaznog fajla.

Kompresovanje više slika

Convert je odličan za manipulaciju pojedinačnim slikama, ali je prilično zamorno menjati veličinu jedne po jedne slike. Dobra vest je da se Convert može koristiti u kombinaciji sa bash skriptom za obradu većeg broja slika odjednom.

Napomena: Masovna kompresija slika sa različitim ekstenzijama fajlova verovatno neće raditi. Preporučuje se grupna konverzija slika sa istim formatom.

Grupna konverzija je jednostavna, a prvi korak je stvaranje direktorijuma za rad. Dobro je imati odvojen direktorijum za sve slikovne datoteke koje želite da konvertujete, kako ne bi došlo do zatrpavanja sistema fajlova. Koristite komandu mkdir da napravite radni direktorijum.

mkdir -p ~/Pictures/Convert-Images/

Zatim, otvorite fajl menadžer, pronađite novonapravljeni direktorijum i premestite sve slike koje planirate da konvertujete u njega. Nakon premeštanja datoteka, koristite komandu cd u terminalu da se prebacite u novi direktorijum.

cd ~/Pictures/Convert-Images/

U terminalu, ukucajte sledeću komandu. Ona će naložiti Convert-u da promeni veličinu više slika odjednom, kreirajući izlazne fajlove sa „resized“ na kraju imena. U ovom primeru, komanda traži JPEG slike. Ako radite sa PNG ili drugim formatom koji podržava Convert, zamenite *.jpg sa *.png, itd.

for img in *.jpg; do
  convert -resize 20% "$img" "opt-$img"
done

Skripta za promenu veličine

Komanda za grupnu promenu veličine je korisna, jer radi veoma dobro. Međutim, kucanje dugačke komande i njeno podešavanje svaki put može biti naporno. Da biste olakšali sebi posao, razmislite o tome da je pretvorite u skriptu. Otvorite terminal i koristite komandu touch da kreirate novu datoteku. Ova datoteka će sadržati kod za našu skriptu konverzije.

touch ~/Pictures/Convert-Images/batch-resize.sh

Zatim otvorite Nano tekst editor.

nano ~/Pictures/Convert-Images/batch-resize.sh

Zalepite sledeći kod u datoteku skripte:

#!/bin/bash

# Hvata korisnički unos za tip fajla.

echo „Unesite ekstenziju fajla za vaše slike:“

# Čuva korisnički unos u $files.

read files

# Menja veličinu slika.

for img in *.$files; do
convert -resize 20% „$img“ „resized-$img“
done

Sačuvajte skriptu za promenu veličine u Nano-u pritiskom na Ctrl + O. Zatvorite editor pomoću Ctrl + X.

Ažurirajte dozvole skripte kako bi se mogla pokrenuti. Ne preskačite ovaj korak, inače skripta neće raditi ispravno!

chmod +x ~/Pictures/Convert-Images/batch-resize.sh

Da biste koristili skriptu, postavite sve slike koje želite da konvertujete u ~/Pictures/Convert-Images/. Zatim u terminalu koristite komandu cd i pokrenite skriptu. Prilikom unosa ekstenzije fajla (kao što je JPG, PNG, itd.) nemojte koristiti tačku, jer će skripta u tom slučaju da se pokvari!

cd ~/Pictures/Convert-Images/
./batch-resize.sh