Python图片处理教程:Pillow实用指南
时间:2026-01-08 22:06:54 497浏览 收藏
“纵有疾风来,人生不言弃”,这句话送给正在学习文章的朋友们,也希望在阅读本文《Python图片处理教程:Pillow使用详解》后,能够真的帮助到大家。我也会在后续的文章中,陆续更新文章相关的技术文章,有好的建议欢迎大家在评论留言,非常感谢!
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=[...]) 合成多帧
今天带大家了解了的相关知识,希望对你有所帮助;关于文章的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~
相关阅读
更多>
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
最新阅读
更多>
-
244 收藏
-
485 收藏
-
141 收藏
-
356 收藏
-
491 收藏
-
263 收藏
-
381 收藏
-
463 收藏
-
463 收藏
-
276 收藏
-
104 收藏
-
323 收藏
课程推荐
更多>
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习