ImageMagick jest otwartoźródłowym narzędziem które pozawala na przetwarzanie ponad 200 formatów graficznych. Dzięki niemu z wiersza poleceń możemy masowo obracać, zmieniać rozmiar, dodawać efekty i zmieniać format dowolnej ilości obrazków na raz.

Zmiana formatu osiągnać można stosując polecenie

convert [PLIK_WEJŚCIOWY] [PLIK_WEJŚCIOWY]

Prosty skrypt bash zmieniający wszystkie pliki PNG na JPG z danego katalogu może wyglądać tak:

for image in *.png ;
do
    convert "$image" "{$image%.*}.jpg" ;
done

Możemy to wszystko umieścić w jednej linii i od razu uruchomić w powłoce:

for image in *.png ;  do convert "$image" "${image%.*}.jpg" ; done

W przypadku chęci zmniejszenia rozmiaru pilików wyjściowych możemy zmienić jako JPG na 75:

for image in *.png ;  do convert "$image" -quality 75 "${image%.*}.jpg" ; done

Zamiana wszystkich stron z PDF na obrazki

pdftoppm -jpeg -jpegopt quality=75 -r 300 PLIK.pdf plikjpg

Parametr -r definujue DPI obrazków. Pliki wyjściowe będą nazywane plikjpg-001.jpg, plikjpg-002.jpg, plikjpg-003.jpg i tak dalej.

Zamiana konkretnej strony z PDF na obrazek

convert -density 150 PLIK.pdf[0] -quality 80 output.jpg

Parametry działają tak samo jak w poprzednim przykładzie, zwrócić należy uwagę na to, że konkretną stronę w pliku PDF wskazujemy w nawiasach kwadratowych numerując od 0. Nic nie stoi na przeszkodzie by wskazać zakres stron.

Zamiana obrazków na plik PDF

convert -density 200 -define pdf:fit-page=A4 * output.pdf

Przez parametr -define pdf:fit-page=A4 wskazujemy, że źródłowe obrazki zostaną umieszczone w pliku PDF jako strony o rozmiarze A4. Wskazując * jako wejście możemy łączyć różne formaty plików graficznych w jednen PDF.

Zmiana kolorowych obrazów na czarno-białe

convert <input> -threshold xx% <output>

Jako xx podajemy wartość, która będzie progiem przy wyborze przekształcenia na czarny lub biały.

convert <input> -monochrome <output>

Na ogół daje to znośne wyniki.

convert <input> -remap pattern:gray50 <output>

Tak samo jako powyżej ale z zastosowaniem ditheringu - większe powierzchnie przez użycie tej techniki udają odcienie szarości. W przypadku niskiej rozdzielczości źródła warto zwiększyć gęstość obrazka wynikowego używając -density z parametrem 150, 200 lub 300.

Poprzedni wpis