使用枕头和python3.8调整img大小时出错

Posted

技术标签:

【中文标题】使用枕头和python3.8调整img大小时出错【英文标题】:Getting error on resize img using pillow and python3.8 【发布时间】:2021-12-20 06:47:19 【问题描述】:

这是我的代码。

from PIL import Image
imgwidth = 800
img = Image.open('img/2.jpeg')
concat = (imgwidth/img.size[0])
height = float(img.size[1])*float(concat)
img = img.resize((imgwidth,height), Image.ANTIALIAS)
img.save('output.jpg')

我从博客中找到了这个例子。我已经运行了这段代码并得到了以下错误,我是 python 新手,不了解实际问题。

File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/PIL/Image.py", line 1929, in resize
    return self._new(self.im.resize(size, resample, box))
TypeError: integer argument expected, got float

【问题讨论】:

试试height = int(...)而不是height = float(...) 谢谢.. 我明白这个问题。类型转换有问题。 【参考方案1】:

由于img.resize() 函数需要height 的整数值,所以请确保高度应该是整数类型。 用下面的代码更新你的代码,我希望它对你有用。

from PIL import Image
imgwidth = 800
img = Image.open('img/2.jpeg')
concat = float(imgwidth/float(img.size[0]))
height = int((float(img.size[1])*float(concat)))
img = img.resize((imgwidth,height), Image.ANTIALIAS)
img.save('output.jpg')

【讨论】:

以上是关于使用枕头和python3.8调整img大小时出错的主要内容,如果未能解决你的问题,请参考以下文章

枕头 - 调整 GIF 的大小

在上载到google cloud storage django之前调整图像大小

python python django枕头缩略图调整大小

浏览器图像调整大小,优于最高 PIL 质量

在 IE 中使用 JS 调整图像大小时出错

调整对象矢量大小时出错