ImageMagick의 변환을 사용하여 이미지 크기를 조정하고 레터박스를 추가하여 고정 크기 결과를 생성하려면 어떻게 해야 합니까?

ImageMagick의 변환을 사용하여 이미지 크기를 조정하고 레터박스를 추가하여 고정 크기 결과를 생성하려면 어떻게 해야 합니까?

원본 이미지 비율을 유지하고 나머지 공간을 구성하기 위해 흰색 레터박스를 추가하는 고정 크기 800x600 축소판을 생성하려는 임의 크기의 이미지가 있습니다. 가능한 한 적은 수의 사서함을 원합니다. 이는 프로세스가 다음을 수행함을 의미합니다.

  • 가장 큰 축을 선택하세요
  • x가 가장 큰 경우 새 x가 800이 되도록 이미지 크기를 조정합니다(비율 유지).
  • y가 최대값인 경우 새 y가 600이 되도록 이미지 크기를 조정합니다(비율 유지).
  • 이 시점의 결과는 800x600이 아니므로(원래 비율이 정확히 4:3이 아닌 한) 결과를 800x600 직사각형의 중앙에 놓고 흰색 배경을 추가합니다.

처음 3단계를 수행할 수 convert -resize 800x600 $input $output있으므로 다른 imagemagick 도구를 사용하여 다른 이미지 위에 오버레이할 수 있을 것 같지만 한 번에 수행할 수 있다면 좋을 것입니다. 이것이 가능한지 아는 사람이 있습니까?

답변1

실제로 방금 알아냈습니다. 병합하려면 800x600 흰색 이미지가 필요하지만 괜찮습니다.

convert ~/white.jpg ~/input.png  -resize 800x600 -gravity center -composite ~/output.jpg

질문을 게시하고 직접 답변하는 것이 시간 낭비라는 일반적인 합의가 있는 경우 해당 질문을 기꺼이 삭제하겠습니다.

관련 정보