我正在使用 PIL 来调整 JPG 的大小。我期待相同的图像,调整大小作为输出,但我得到了一个正确大小的黑框。新的图像文件完全没有任何信息,只是一个空文件。这是我的脚本的摘录:
basewidth = 300
img = Image.open(path_to_image)
wpercent = (basewidth/float(img.size[0]))
hsize = int((float(img.size[1])*float(wpercent)))
img = img.resize((basewidth,hsize))
img.save(dir + "/the_image.jpg")
我尝试使用 Image.LANCZOS 作为第二个参数来调整大小(默认为 Image.NEAREST,带 1 个参数),但没有产生任何影响。我在 Ubunutu 16.04 上运行 Python3。关于为什么图像文件为空的任何想法?
最佳答案
在尝试调整透明背景图像的大小时,我也遇到了同样的问题。在我向图像添加白色背景后,“调整大小”就起作用了。
添加白色背景然后调整图像大小的代码:
from PIL import Image
im = Image.open("path/to/img")
if im.mode == 'RGBA':
alpha = im.split()[3]
bgmask = alpha.point(lambda x: 255-x)
im = im.convert('RGB')
im.paste((255,255,255), None, bgmask)
im = im.resize((new_width, new_height), Image.ANTIALIAS)
引用:
关于python - 使用 PIL.resize 调整 JPG 大小会得到全黑图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57052293/