Python使用Pillow批量调整图片尺寸的方法
本文详解如何使用Python的Pillow库批量调整图片尺寸。通过单张示例展示32x32像素图标的生成过程,并进一步提供完整脚本,实现从源目录到目标目录的批量图片缩放操作,适用于制作软件工具栏图标等场景。
前言
本次实践的初衷是整理一批从网络下载的PNG图片,用于wxFormBuilder软件工具栏的图标制作。以下是原始图片直接应用后的效果展示。

原始图标尺寸过大,导致视觉效果不佳,这促使笔者思考更优的解决方案。
以往处理图片尺寸多依赖图形界面工具,此次决定采用自动化脚本完成这一任务。
因此,编写了一个脚本将图片统一调整为32x32像素。原始图片尺寸为124x128像素。


简单讲解
本文主要依赖Pillow(PIL)库进行图像处理。
安装步骤如下:
pip install pillow
该库具备多种图片处理功能,调整尺寸只是其中之一。以下直接演示具体操作。
1、建目录
首先创建一个名为changePicSizeDemo的文件夹。
将需要调整尺寸的一张源图片放入该文件夹中。
接着在文件夹内新建Demo.py文件,用于编写处理脚本。

2、图片大小修改
#导入Image库
from PIL import Image
#打开当前目录下 !.png 图片文件对象
old_pic = Image.open('!.png')
#修改图片size为32*32,生成新图片对象
new_pic = old_pic.resize((32, 32), Image.ANTIALIAS)
#保存新图片文件,保存到当前目录
new_pic.save('!01.png')运行脚本后,可生成32x32像素的小图标。观察下图,与原始图片相比,可以清晰看到像素格子的变化。

批量修改图片Size
1、目录处理
在changePicSizeDemo目录下新建两个子目录。
SourcePics目录用于存放需要调整尺寸的原图片文件。
CsavePics目录用于保存调整尺寸后的新图片文件。

2、图片批量修改Size完整代码
from PIL import Image
import os
# 获取当前py文件的根目录
basePath = os.path.dirname(os.path.abspath(__file__))
# 获取图片源目录
old_Path = os.path.join(basePath, 'SourcePics')
# 获取图片改后保存目录
new_path = os.path.join(basePath, 'CsavePics')
# os.walk遍历这个路径下的图片文件
raw_files = os.walk(old_Path)
for root, dirs, files in raw_files: # 把遍历的根目录、子目录以及文件名展现出来
for file in files: # 把单个文件名提取出来,方便一个个处理
# 合并路径得到源图片的绝对路径
old_pic_path = os.path.join(root, file)
# 打开当前目录下图片文件对象
old_pic = Image.open(old_pic_path)
# 修改图片size为32*32,生成新图片对象
new_pic = old_pic.resize((32, 32), Image.ANTIALIAS)
# 合并路径得到新图片的绝对路径
new_pic_path = os.path.join(new_path, file)
#保存新图片文件到新目录
new_pic.save(new_pic_path)执行脚本。
在CsavePics目录下即可得到一批尺寸为32x32的图片。

最后,将处理好的图片导入wxFormBuilder生成的工具界面中,效果十分理想。

图片尺寸修改的分享至此结束,欢迎点赞与收藏。
关于Python批量处理图片大小尺寸的方法介绍到此结束,更多相关Python技术内容请查阅本站往期文章或继续浏览后续章节,感谢大家的支持!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









