Mitme pildi korraga suurendamine/vähendamine

Allikas: Pingviini viki


Sissejuhatus

Kuna tekkis vajadus vähendada suurem hulk pilte kindlasse mõõtu, siis läksin otsime netiavarustesse, et milline programm seda Linuxi all suudaks. Tuli aga välja, et piisab ka pisikesest ja lihtsakoelisest skriptist.

Nõuded kogu asjale on siis järgmised

  • Kõik pildid peavad olema sama laiendiga (ntx .jpg)
  • Skript peab asuma samas kaustas kus on pildid (või on vastasel juhul loodud link mõnesse /bin kausta)
  • Uus suurus ning uus nimi piltidele peab skriptis määratud olema


Skript ise

Skript ise on väga väike ja lihtne

Loo oma soovi järgi ühte kausta fail (ntx resize), ning kopeeri selle sisusse järgmised read:

for img in `ls *.jpg`
do
  convert -resize 800x600 $img resized-$img
done

Nüüd ka väike seletus

real

for img in `ls *.jpg`

on ära toodud faililaiend, mille järgi pilte otsitakse, kui sinu pildid on lõpuga .JPG, pead selle ka skriptis vastavalt ära muutma.

real

  convert -resize 800x600 $img resized-$img

on määratud uute piltide suurus ning seejärel viimase parameetrina uute piltide nimi, kui soovid, et sinu uued pildid kannax nime v2hendatud-pilt123.jpg jne, siis pead resized-$img muutma ära v2hendatud-$img

ja see ongi üldjoontes kõik, tuleb veel muuta skript ka käivitatavaks ning võib asuda kasutama.

chmod +x resize

Kui on soovi sama skripti mitmetes erinevates kaustades kasutada ja ei viitsi pidevalt skripti ümber tõsta, siis on võimalik luua sellele ülesüsteemiline link. Selleks tuleb siseneda root kasutajasse ning sisestada järgmised käsud:

cd /usr/bin (või mõni muu bin kaust sinu distributsioonis)
ln -s /teekond/sinu/resize/failini/resize

nüüd piisab sellest kui käivitad vaid kaustas käsu

resize