너비가 높이보다 큰 경우 이미지 회전

너비가 높이보다 큰 경우 이미지 회전

크기가 다른 수천 개의 직사각형 이미지가 있습니다. 나는 둘 다 너비보다 키가 크기를 원합니다. 높이가 너비보다 작은 모든 이미지를 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

관련 정보