我正在使用Flask制作网络应用,我想调整上传的图片大小。我使用PIL执行此操作,但会引发错误。
这样做的过程就是这样,但似乎效率低下:
filename = secure_filename(form.image.data.filename)
form.image.data.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
img = Image.open(os.path.join(app.config['UPLOAD_FOLDER'],filename), 'r')
img = img.resize(300, 300)
img.save(filename, quality=100, optimize=True)
我尝试做的是在用户上传图像后保存图像,打开新文件,调整图像大小并再次保存。
如何修复错误?
还有一种方法可以更有效地使用Python库来保存未调整大小的文件吗?
答案 0 :(得分:21)
img = img.resize(300,300)
=> img = img.resize((300,300))
答案 1 :(得分:1)
要记住的最重要的事情不是将大小作为对象传递,而是将其作为元组传递给调整大小函数new_image = image.resize((img_width,img_size))
而不是
new_image = image.resize(img_width,img_size)