크기가 다른 수천 개의 직사각형 이미지가 있습니다. 나는 둘 다 너비보다 키가 크기를 원합니다. 높이가 너비보다 작은 모든 이미지를 90도 회전하여 이를 달성하고 싶습니다. imagemagick을 사용하여 어떻게 이 작업을 수행할 수 있나요?
답변1
이미지의 너비와 높이를 가져온 다음 w>h인지 확인한 다음 회전시키는 아래와 같은 간단한 함수를 작성할 수 있습니다.
rotate() {
(( $(identify -format '%w > %h' "$1") )) && convert "$1" -rotate 90 "rotated_$1";
}
불러라 rotate image.png
.
또 다른 방법은사용자 414777사용엑시프도구, 즉 기반EXIF 방향 태그:
exif -co rotated_"$1" --ifd=0 --tag=0x0112 --set-value=6 "$1"
스위치 설명:
TagID TagName Writable Group Values/Notes
0x0112 Orientation int16u IFD0 1 = Horizontal (normal)
2 = Mirror horizontal
3 = Rotate 180
4 = Mirror vertical
5 = Mirror horizontal and rotate 270 CW
6 = Rotate 90 CW
7 = Mirror horizontal and rotate 90 CW
8 = Rotate 270 CW