본문 바로가기
Python/Python FAQ

Python PIL을 사용하여 이미지 크기를 조정하고 종횡비를 유지하는 방법은 무엇인가요?, How do I resize an image using PIL and maintain its aspect ratio?

by 베타코드 2023. 9. 9.
반응형

질문


이걸 놓친 명백한 방법이 있을까요? 썸네일을 만들려고만 하는 중입니다.


답변


최대 크기를 정의합니다. 그런 다음 min(maxwidth/width, maxheight/height)를 사용하여 크기 조정 비율을 계산합니다.

적절한 크기는 oldsize*ratio입니다.

물론 이를 수행하는 라이브러리 메서드도 있습니다: Image.thumbnail 메서드입니다.
아래는 PIL 문서에서 가져온 (편집된) 예제입니다.

import os, sys
import Image

size = 128, 128

for infile in sys.argv[1:]:
    outfile = os.path.splitext(infile)[0] + ".thumbnail"
    if infile != outfile:
        try:
            im = Image.open(infile)
            im.thumbnail(size, Image.Resampling.LANCZOS)
            im.save(outfile, "JPEG")
        except IOError:
            print "cannot create thumbnail for '%s'" % infile
반응형

댓글