首頁 >後端開發 >Python教學 >使用 PIL 調整影像大小時如何保持寬高比?

使用 PIL 調整影像大小時如何保持寬高比?

DDD
DDD原創
2024-12-06 18:29:14536瀏覽

How to Maintain Aspect Ratio When Resizing Images with PIL?

使用PIL 調整影像大小時保留寬高比

在Python 影像庫(PIL) 中,可以在保持影像寬高比的同時調整圖像大小透過具體計算得出。建立縮圖時,保持影像的原始比例至關重要。

解決方案:

  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