Rozejrzałem się za tym i nie mogę znaleźć łatwego do wdrożenia rozwiązania.
Obecnie pracuję nad aplikacją, która zajmuje się panoramami. Gdy wychodzą z procesu zszywania wsadowego, wymiary wynoszą średnio 18000 x 4000. Używając ImageMagick, w jaki sposób mogę przeskalować te obrazy do określonej wartości wysokości, zachowując proporcje?
Zgodnie z instrukcją convert
operacja zmienia wysokość i szerokość, zachowując ten sam współczynnik kształtu. Chciałbym umieścić w 600 i 1000 w mojej istniejącej funkcji skryptu zmiany rozmiaru i mieć zarówno zwykły widoczny obraz, jak i zmniejszony rozmiar.
Odpowiedzi:
Zgodnie z dokumentacją ImageMagick proponuję użyć
-geometry x600
, podczas gdyx600
oznacza to, że nowy obraz ma wysokość 600 pikseli przy takim samym współczynniku kształtu jak stary obraz.Dla pojedynczego obrazu możesz uruchomić:
Jeśli wolisz przekonwertować wszystkie obrazy folderu w jednym uruchomieniu, przełącz się na to (tj.
cd ~/Pictures/panoramas/
) I użyjAle bądź ostrożny, ponieważ to zastępuje oryginalne pliki obrazów . Aby tego uniknąć, możesz
mkdir ~/Pictures/panoramas/small
)cp ~/Pictures/panoramas/*.png ~/Pictures/panoramas/small
) icd ~/Pictures/panoramas/small && mogrify -geometry x600 *.png
).źródło
aby zmienić rozmiar wszystkich plików w folderze, można użyć czegoś takiego
--- zmień odpowiednio rozmiar i rozszerzenie
źródło