PythonPillow图片处理教程详解
时间:2026-05-07 11:42:39 312浏览 收藏
本文深入浅出地介绍了Python中轻量高效、上手极快的图片处理利器——Pillow库,从三步核心流程(打开、操作、保存)出发,涵盖缩放、裁剪、旋转、灰度转换、文字标注、图形绘制等高频实用功能,并强调其“操作返回新对象、原图不被修改”的安全设计;同时提供安装指引、格式兼容要点、批量处理技巧及动图合成方案,让零基础读者也能快速实现专业级图像编辑效果,真正实现“不用学复杂概念,也能轻松搞定日常图片处理”。

用 Pillow 处理图片,核心就三步:打开、操作、保存。它轻量、易上手,适合日常缩放、裁剪、加文字、调色等任务,不用学复杂概念也能快速出效果。
安装与基础读写
Pillow 是 PIL 的现代维护版,直接用 pip 安装即可:
- pip install Pillow
安装后导入模块,用 Image.open() 打开本地图片(支持 JPG、PNG、GIF 等常见格式);用 .save() 保存结果,格式由文件扩展名自动判断:
- from PIL import Image
- img = Image.open("photo.jpg")
- img.save("output.png") # 自动转为 PNG
常用图像操作示例
多数操作返回新图像对象,原图不会被修改,可链式调用:
- 缩放:用 resize((宽, 高)),注意参数是元组且不保持比例;需等比缩放可用 thumbnail()(原地修改,限制最大边长)
- 裁剪:用 crop((左, 上, 右, 下)),坐标是像素值,左上角为 (0, 0)
- 旋转:用 rotate(角度),默认会补黑边;加 expand=True 自动扩大画布适配旋转后尺寸
- 转灰度/彩色:用 convert("L") 转灰度图,convert("RGB") 确保三通道
在图上添加文字和简单图形
用 ImageDraw 模块绘制,配合 ImageFont 控制字体:
- 先用 ImageDraw.Draw(img) 创建绘图对象
- 加载字体:font = ImageFont.truetype("arial.ttf", size=24)(Windows 常见,macOS/Linux 可用 ImageFont.load_default() 快速测试)
- 写文字:draw.text((x, y), "Hello", fill="white", font=font),fill 支持颜色名、RGB 元组或十六进制
- 画矩形:draw.rectangle([(x1,y1), (x2,y2)], outline="red", width=2)
批量处理与格式转换技巧
处理多张图时,避免逐一手动操作。可结合 os.listdir 或 glob 遍历文件夹:
- 用 os.path.splitext(filename) 分离文件名与扩展名,方便统一改后缀
- 保存为不同格式时,注意模式匹配:比如 PNG 支持透明通道(RGBA),JPG 不支持;若原图含 alpha 通道又想存 JPG,需先 convert("RGB")
- GIF 动图可用 save(..., save_all=True, append_images=[...]) 合成多帧
终于介绍完啦!小伙伴们,这篇关于《PythonPillow图片处理教程详解》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布文章相关知识,快来关注吧!
相关阅读
更多>
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
最新阅读
更多>
-
108 收藏
-
345 收藏
-
312 收藏
-
312 收藏
-
109 收藏
-
449 收藏
-
452 收藏
-
358 收藏
-
214 收藏
-
389 收藏
-
166 收藏
-
344 收藏
课程推荐
更多>
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习