Zmiana rozmiaru obrazów za pomocą skryptów z ImageMagik
Automatyczne skalowanie obrazów w celu dopasowania do statycznych stron internetowych
Mainroad w Hugo nie zmienia automatycznie rozmiaru obrazów,
tylko kopiuje je z folderu static.
Zatem musimy przygotować skrypt do zmiany rozmiaru i przycięcia obrazów do odpowiedniego rozmiaru.
Kiedy
Mam kilka źródeł obrazów – telefon komórkowy i kamera są najczęściej używane.
Są one o różnych rozdzielczościach i proporcjach.
Zatem potrzebujemy sekwencji przetwarzania:
- centralne przycięcie do proporcji
- zmiana rozmiaru (skalowanie) do dwóch rozdzielczości. Jakość JPEG – 80% wystarczy.
- 235x171
- 678x495
Gdzie
Załóżmy, że obrazy źródłowe są w folderze ~/tmp/img_src
Musimy:
- przenieść wynikowe obrazy do folderów ~/tmp/img_235x171 i ~/tmp/img_678x495
- nazwać obrazy tak, jak
_235x171.jpg i _678x495.jpg
Jak
W systemie Ubuntu Linux użyjemy imagemagick
sudo apt-get install imagemagick
Krok przycięcia:
convert wizard.png -gravity center -extent 11:8 wizarc.jpg
# teraz sprawdź geometrię
identify wizard.png wizarc.jpg
Krok skalowania
convert wizarc.jpg -resize 678x495 -quality 80 -interlace plane wizarc_678x495.jpg
convert wizarc.jpg -resize 235x171 -quality 80 -interlace plane wizarc_235x171.jpg
# teraz sprawdź geometrię
identify wizarc.jpg wizarc_678x495.jpg wizarc_235x171.jpg
80 to jakość JPEG, a plane oznacza postępowy JPEG.
Pomoże to w szybszym ładowaniu obrazów na wolnych połączeniach,
nie tylko dlatego, że najpierw zostanie załadowany miniaturka, ale też sam plik jest mniejszy. Przynajmniej w przypadku czarodzieja.
Z ramkami
convert wizarc.jpg -resize 676x493 -quality 80 -interlace plane -border 1x1 wizarc_678x495.jpg
convert wizarc.jpg -resize 233x169 -quality 80 -interlace plane -border 1x1 wizarc_235x171.jpg
# teraz sprawdź geometrię
identify wizarc.jpg wizarc_678x495.jpg wizarc_235x171.jpg
Obraz wynikowy, który widzisz na początku tego posta, oraz proporcje obrazu źródłowego wyglądały tak:
to po prostym skalowaniu i dodaniu ramki
convert wizard.png -resize 20% -quality 85 -interlace plane -border 2x2 wizard20.jpg
Inne opcje
nautilus-image-converter
nautilus-image-converter to rozszerzenie nautilus do masowego skalowania lub obracania obrazów. Aby zainstalować nautilus-image-converter w wszystkich obecnie obsługiwanych wersjach Ubuntu otwórz terminal i wpisz:
sudo apt-get install nautilus-image-converter
Dodaje dwa elementy menu kontekstowego w nautilus, dzięki czemu możesz kliknąć prawym przyciskiem i wybrać “Zmień rozmiar obrazu”. (Drugim jest “Obróć obraz”).
Możesz przetworzyć całą całą katalog obrazów w jednym kroku, a nawet nie musisz otwierać żadnego programu.
Musisz ponownie uruchomić nautilus, aby zobaczyć nowe menu kontekstowe, uruchom
nautilus -q
a następnie kliknij ikonę folderu domowego, aby ponownie załadować nautilus z nowym wtyczką.
mogrify
Polecenie mogrify nadpisuje oryginalne pliki obrazów zmienionymi rozmiarami:
mogrify -resize 50% *.png # zachowuje proporcje obrazu mogrify -resize 320x240 *.png # zachowuje proporcje obrazu mogrify -resize 320x240! *.png # nie zachowuje proporcji obrazu mogrify -resize x240 *.png # nie zachowuje proporcji obrazu mogrify -resize 320x *.png # nie zachowuje proporcji obrazu
Inne przydatne narzędzia
Pobierz metadane obrazu – takie jak rozdzielczość, głębia bitowa itp. – część pakietu imagemagick.
identify image.jpg
zwróci coś takiego jak
image.jpg JPEG 720x482 720x482+0+0 8-bit DirectClass 100KB 0.000u 0:00.009
Konwertowanie obrazów do PDF
convert $(ls -v *.jpg) foobar.pdf
convert $(ls -v *.png) foobar.pdf