Zdarzyło Wam się przygotowywać stos miniatur do grafik? Jeśli jesteście szczęśliwymi posiadaczami Linuxa oraz macie zainstalowany pakiet ImageMagick, za pomocą narzędzia Convert możecie wygenerować automatycznie cały zestaw miniatur niezależnie od tego, jak duże archiwum obrazów przetwarzacie.

Sam program Image Magik dostarcza o wiele większą funkcjonalność – porównywalną z edytorami zawierającymi GUI – mimo, iż sam został stworzony aby pracować w środowisku konsoli.

Oto przed Wami prosty skrypt BASH, który wygeneruje Wam miniatury z dowolnego pliku JPEG, PNG, PDF i innych formatów graficznych.

Posiadaczom kart, które wspierają OpenCL podpowiem, że ImageMagick również wykorzysta ten sprzęt aby przygotować miniatury w mgnieniu oka!

#!/bin/bash

# dane do edycji

srcdir="./oryginaly"
dstdir="../miniatury"
rozmiar="150x150"
rozszerzenie="jpg"

# za tą linią nie edytuj

cd ${srcdir}
mkdir ${dstdir}

for f in *.${rozszerzenie}
do
convert ${f} -resize ${rozmiar} ${dstdir}/min-${f}
done
exit

Aby dostosować skrypt do swoich potrzeb wystarczy, że edytujecie 3 zmienne – srcdir, dstdir oraz rozmiar.

SRCDIR – określa katalog, w którym poszukujemy plików .JPG do wygenerowania z nich miniatur

DSTDIR – określa katalog, w którym miniatury zostaną zapisane. Do nazwy pliku zostanie dodany przedrostek „min-„, zatem SRCDIR i DSTDIR mogą być tym samym folderem.

ROZMIAR – określa rozmiar w formacie imagemagick. Prezentowany przykład generuje miniatury, z których największy z brzegów będzie miał rozmiar 150 pikseli. Aby wymusić rozmiar należy w formacie rozmiaru dodać wykrzyknik, np. !150×150, 150x!150, !150x!150.

ROZSZERZENIE – określa rozszerzenie poszukiwanych plików, np. jpg, png, pdf, eps, bmp, gif itd.

 

Więcej o samym ImageMagick znajdziecie tutaj: http://www.imagemagick.org/

 

Mam nadzieję, że skrypt się Wam przyda i oszczędzi Wam sporo czasu :)

Pozdrawiam, M.M.