긴 텍스트 열로 키가 큰 이미지를 정사각형으로 만드는 bash 스크립트?

긴 텍스트 열로 키가 큰 이미지를 정사각형으로 만드는 bash 스크립트?

긴 토론 스레드의 인쇄된 버전을 본 적이 있습니까? 아무것도 없고 건물만 있는 초고층 빌딩 같은 사진! 그래서 저는 보통 이렇게 해요 -수동으로!— 이미지를 여러 조각으로 나누고 다음 스크립트를 사용하여 imagemagick을 사용하여 나란히 쌓습니다.

for f in "$@"
do 
   h=($(sips -g pixelHeight "$f" | grep -o '[0-9]*$'))
   if [[ $h -gt $height ]]; then 
      height=$h
   fi
done
convert +append "$@" -geometry x$height ~/Desktop/Hcombined.png

이 모든 작업을 자체적으로 수행하도록 확장하려면 어떻게 해야 합니까?

답변1

대상 종횡비를 얻는 한 가지 방법은 기본 직사각형 출력으로 시작하여 종횡비를 테스트하고 열 높이를 조정하고 분할한 다음 다시 결합한 다음 종횡비 테스트로 돌아가는 루프를 사용하는 것입니다. 여기에 이미지 설명을 입력하세요.

답변2

던넷(제 생각에는):

for f in "$@"
do
    size=($(sips -g pixelWidth -g pixelHeight "$f" | grep -o '[0-9]*$'))
    n=$(echo "scale=3;sqrt(${size[1]}/${size[0]})" | bc)
    convert -crop 1x$n@ +repage "$f" "${f%.*}_%d.${f##*.}"
    convert +append "${f%.*}_*.${f##*.}" "${f%.*}_sq.${f##*.}"
    rm "${f%.*}_"*
done

관련 정보