Zdjęcia zrobione aparatem cyfrowym, zwłaszcza gdy ma on matrycę o dużej ilości pikseli, zajmują wiele miejsca. Nie zawsze jednak potrzebujemy zdjęć o tak ogromnych rozmiarach, zwykle chcemy je obejrzeć na ekranie monitora, w tym przypadku nie muszą być w jakiejś kosmicznej rozdzielczości.
Innym problemem może być próba wysłania ich przy pomocy poczty elektronicznej, czy też umieszczenie wyników naszej pracy w internecie (nikt chyba nie lubi czekać na „wczytanie” olbrzymiego obrazka). W takim wypadku wpierw przydałoby się przeprowadzić „terapię odchudzającą”.
Jednym z rozwiązań jest użycie programu convert
z pakietu imagemagick
. Przykładowo wydając polecenie:
convert zdjecie.jpg -resize 1024×768 -quality 75 male_zdjecie.jpg
zmniejszymy rozdzielczość obrazka i ustawimy jakość pliku jpg na 75%.
Kilka słów wyjaśnienia. Zdjęcie które zmieniamy to zdjecie.jpg
, zmniejszony obrazek tomale_zdjecie.jpg
. Opcja -resize
odpowiada za zmianę rozdzielczości zdjęcia, w powyższym przypadku wynik nie będzie miał szerokości większej niż 1024 pikseli i wysokości większej niż 768 pikseli (przykład dostosowania zdjęć do wyświetlania na monitorze o rozdzielczości 1024×768). Z kolei opcja -quality
odpowiada za stopień kompresji formatu JPG, może przyjąć wartości od 0 (najlepsza kompresja, najgorsza jakość) do 100 (najlepsza jakość, najsłabsza kompresja).
Aby przekształcić wiele zdjęć wystarczy powyższe polecenie umieścić w pętli (tutaj powłoka bash
), przykładowo:
for nazwa in *.jpg; do convert „$nazwa” -resize 1024×768 -quality 75 „male_$nazwa”; done;
spowoduje zapisanie zmniejszonych kopii plików o rozszerzeniu „.jpg” z przedrostkiem „male_” (oryginały zostaną zachowane).
Na jaki efekt można liczyć? Wszystko zależy od tego w jakiej rozdzielczości wykonane są zdjęcia. Przykładowo korzystając z powyższego polecenia udało się zmniejszyć miejsce zajmowane przez kilkadziesiąt zdjęć z około 300 do około 10 MB.
Dodaj komentarz