首页 >后端开发 >Python教程 >如何使用 PIL 调整图像大小同时保持纵横比?

如何使用 PIL 调整图像大小同时保持纵横比?

Susan Sarandon
Susan Sarandon原创
2024-12-11 08:26:09767浏览

How to Resize Images with PIL While Maintaining Aspect Ratio?

使用 PIL 调整图像大小,同时保留纵横比

创建缩略图时,保持图像的原始纵横比至关重要。在本文中,我们将探讨如何使用 Python 图像库 (PIL) 来实现此目的。

方法:

  1. 定义最大大小: 确定您所需的最大宽度和高度缩略图。
  2. 计算调整大小比例:通过查找 maxwidth/width 和 maxheight/height 中较小的一个来计算最小缩放比例。
  3. 计算新尺寸: 将原始大小乘以计算的比率以获得正确的大小

使用 PIL 库的替代方法:

PIL 提供了专门为此目的设计的 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

以上是如何使用 PIL 调整图像大小同时保持纵横比?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn