gpt4 book ai didi

PIL图像对象上的Python副本

转载 作者:IT老高 更新时间:2023-10-28 20:38:09 26 4
gpt4 key购买 nike

我正在尝试创建一组缩略图,每个缩略图都是从原始图像单独缩小的。

image = Image.open(path)
image = image.crop((left, upper, right, lower))
for size in sizes:
temp = copy.copy(image)
temp.thumbnail((size, height), Image.ANTIALIAS)
temp.save('%s%s%s.%s' % (path, name, size, format), quality=95)

上面的代码似乎可以正常工作,但是在测试时我发现一些图像(我不知道它们有什么特别之处,可能只适用于 PNG)会引发此错误:

/usr/local/lib/python2.6/site-packages/PIL/PngImagePlugin.py in read(self=<PIL.PngImagePlugin.PngStream instance>)
line: s = self.fp.read(8)
<type 'exceptions.AttributeError'>: 'NoneType' object has no attribute 'read'

没有 copy() 这些图像就可以正常工作。

我可以为每个缩略图重新打开并裁剪图像,但我希望有一个更好的解决方案。

最佳答案

我猜 copy.copy() 不适用于 PIL Image 类。尝试使用 Image.copy() 代替,因为它的存在是有原因的:

image = Image.open(path)
image = image.crop((left, upper, right, lower))
for size in sizes:
temp = image.copy() # <-- Instead of copy.copy(image)
temp.thumbnail((size, height), Image.ANTIALIAS)
temp.save('%s%s%s.%s' % (path, name, size, format), quality=95)

关于PIL图像对象上的Python副本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6775216/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com