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

如何使用 PIL 调整图像大小,同时保持宽高比?

Linda Hamilton
Linda Hamilton原创
2024-12-08 03:51:12240浏览

How Can PIL Be Used to Resize Images While Preserving Aspect Ratio?

使用 PIL 调整图像大小并保留宽高比

生成缩略图或重新缩放图像时,保持宽高比对于保持图像保真度至关重要。 PIL 提供了一种简单的方法来实现此目的,同时动态调整宽度和高度尺寸。

要使用 PIL 调整图像大小同时保持其纵横比,请按照以下步骤操作:

  1. 定义最大尺寸:根据宽度和大小确定调整后的图像所需的最大尺寸高度。
  2. 计算调整大小比率: 通过取最大宽度除以原始图像宽度和最大高度除以原始图像高度之间的最小值来计算调整大小比率。此比率可确保按比例调整图像大小。
  3. 计算新大小:通过将原始图像大小乘以调整大小比率来计算新图像大小。

为了方便起见,PIL 提供了一种专门设计的方法,用于在保持图像宽高比的同时调整图像大小:Image.thumbnail。以下是 PIL 文档中的一个示例,展示了如何使用 Image.thumbnail 创建缩略图:

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

此示例演示了如何使用 Image.thumbnail 从输入图像列表创建缩略图,并保持其外观比例,同时确保最终尺寸在指定尺寸内。

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

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