在进行图片批量缩放时遇到的警告,mark一下解决方案
在运行以下代码时会弹出警告
from PIL import Image
im = Image.open(r'D:\Pycharm\tiler\tiler\tiles\circles\gen_circle_100\circle_100_0.0_0.0_0.0_r0.png')
(x,y) = im.size #读取图片尺寸(像素)
print((x,y))
x_s = int(0.4 * im.size[0]) #定义缩小后的标准宽度
y_s = int(0.4 * im.size[1]) #基于标准宽度计算缩小后的高度
# out = im.resize((x_s,y_s),Image.Resampling.LANCZOS) #改变尺寸,保持图片高品质
out = im.resize((x_s,y_s),Image.LANCZOS)
out.save('test.png')
警告内容:
DeprecationWarning: LANCZOS is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.LANCZOS instead
截图展示:
在博客里面没有看到好的解决方案,反倒是在评论区看到一个方案很好用,mark一下
有效解决方案:
把Image.LANCZOS换成Image.Resampling.LANCZOS
更换后代码:
from PIL import Image
im = Image.open(r'D:\Pycharm\tiler\tiler\tiles\circles\gen_circle_100\circle_100_0.0_0.0_0.0_r0.png')
(x,y) = im.size #读取图片尺寸(像素)
print((x,y))
x_s = int(0.4 * im.size[0]) #定义缩小后的标准宽度
y_s = int(0.4 * im.size[1]) #基于标准宽度计算缩小后的高度
out = im.resize((x_s,y_s),Image.Resampling.LANCZOS) #改变尺寸,保持图片高品
out.save('test.png')
运行截图: