
1.png
현재 다음과 같은 이름의 이미지가 있다고 가정합니다.
500px : height
1000px : width
크기를 다음과 같이 조정하고 싶습니다.
50px : height
100px : width
JPG가 아닌 PNG 형식으로 출력해야 합니다. 예를 들어 주시면 감사하겠습니다.
답변1
나는 convert
또는mogrify
이미지매직모음곡.
$ convert -resize 100x50 1.png 2.png
# or #
$ mogrify -resize 100x50 1.png
convert
별도의 출력 파일 이름을 사용합니다. 별도의 파일을 생성합니다.
mogrify
별도의 출력 파일 이름을 사용하지 않습니다. 파일을 제자리에서 수정
답변2
소스 이미지와 대상 이미지의 종횡비가 동일하기 때문에 지금까지 얻은 답변은 이 특별한 경우에 적용됩니다. 하지만 임의의 크기로 변경하고 싶다면,그들은 실패할 것이다:
$ file foo.png
foo.png: PNG image data, 1000 x 500, 8-bit/color RGB, non-interlaced
$ convert -resize 100x50 foo.png bar.png
$ file bar.png
bar.png: PNG image data, 100 x 50, 8-bit colormap, non-interlaced
위에서 볼 수 있듯이 이미지의 비율을 변경하지 않으면 간단한 변환이 제대로 작동합니다. 하지만 변경하고 싶다면 어떻게 해야 할까요?
$ convert -resize 200x50 foo.png bar.png
$ file bar.png
bar.png: PNG image data, 100 x 50, 8-bit colormap, non-interlaced
따라서 비율을 변경하면 위 명령이 실패합니다. convert
이런 방식으로 이미지를 강제로 변경하려면 !
기하학 사양의 끝에 a를 추가해야 합니다(그리고 는 !
많은 쉘에서 특수 문자이므로 로 이스케이프해야 합니다 \!
).
$ convert -resize 200x50\! foo.png bar.png
$ file bar.png
bar.png: PNG image data, 200 x 50, 8-bit colormap, non-interlaced
답변3
이를 위해 Imagemagick을 사용하십시오.
올바른 사용을 위해 매뉴얼 페이지를 읽으십시오. 그러나 다음과 같은 매개변수를 전달하면 작동할 것입니다.
convert 1.png -resize 50x100 1-resized.png
답변4
ImageMagick의 대안은 훌륭한 netpbm입니다.
pngtopnm input.png | pnmscale -reduce 10 | pnmtopng > output.png