python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python批量处理图片

Python批量处理图片大小尺寸方法详解

作者:魂尾ac

这篇文章主要介绍了用Python批量处理图片大小尺寸的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧

前言

出发点,网上下了一批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')

运行后,得到32*32的小图标,看下图,相比前面的图片可以清楚看见像素格子了。

批量修改图片Size

1、目录处理

在changePicSizeDemo目录下新增两个目录

SourcePics目录存入须改变Size的图片文件

CsavePics目录用来存放改完Size后的图片文件

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的做的工具里面去,舒服了。

图片Size修改分享完毕,希望多多点赞与收藏

到此这篇关于Python批量处理图片大小尺寸方法详解的文章就介绍到这了,更多相关Python批量处理图片内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文