>백엔드 개발 >파이썬 튜토리얼 >PIL을 사용하여 이미지 크기를 조정할 때 종횡비를 유지하는 방법은 무엇입니까?

PIL을 사용하여 이미지 크기를 조정할 때 종횡비를 유지하는 방법은 무엇입니까?

DDD
DDD원래의
2024-12-06 18:29:14531검색

How to Maintain Aspect Ratio When Resizing Images with PIL?

PIL을 사용하여 이미지 크기를 조정하는 동안 종횡비 유지

PIL(Python Imaging Library)에서는 종횡비를 유지하면서 이미지 크기를 조정할 수 있습니다. 특정 계산을 통해 달성됩니다. 썸네일을 만들 때 이미지의 원래 비율을 유지하는 것이 중요합니다.

해결책:

  1. 최대 크기 정의: 결정 크기가 조정된 이미지의 최대 크기.
  2. 크기 조정 계산 비율: (최대 너비/원래 너비)와 (최대 높이/원래 높이)의 최소값을 취하여 비율을 계산합니다.
  3. 적절한 크기 결정: 원본 크기에 곱하기 크기 조정에 적합한 크기를 얻기 위해 계산된 비율로 이미지를 조정합니다.

간단성을 위해 PIL은 다음을 제공합니다. 가로 세로 비율을 유지하면서 크기 조정을 처리하는 Image.thumbnail 방법:

import os, sys
from PIL import Image

size = (128, 128) # Desired thumbnail size

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(f"Cannot create thumbnail for '{infile}'")

이 스크립트에서는 이미지 품질 향상을 위해 Lanczos 리샘플링을 사용하여 이미지 크기를 (128, 128)의 축소판 크기로 조정합니다.

위 내용은 PIL을 사용하여 이미지 크기를 조정할 때 종횡비를 유지하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.