Python Pillow实现图片文字添加与保存
本文介绍如何使用Python的Pillow库在图片上添加文字。通过Image.open()加载图像,利用ImageFont指定字体与大小,结合ImageDraw.Draw()创建绘图对象,调用text()方法在指定坐标写入内容,最后保存修改后的图片。
核心实现步骤
在Python中处理图像并添加文本覆盖层,主要依赖Pillow库中的三个核心组件:负责加载图像的 Image,负责指定排版样式的 ImageFont,以及负责执行绘制操作的 ImageDraw。操作流程遵循“加载-配置-绘制-保存”的逻辑顺序。
1. 加载图像
首先需要使用 Image.open() 方法读取目标图片文件,生成一个图像对象供后续操作。这是所有修改操作的基础。
2. 配置字体样式
为了在图片上显示清晰的文字,需要实例化 ImageFont.truetype()。该函数通常接收两个关键参数:字体文件的路径(如Windows系统下的 simsun.ttc)以及字号大小(例如40)。同时,定义文字的颜色(如 "red")。
3. 执行绘制与保存
通过 ImageDraw.Draw(image) 获取绘图实例。利用 draw.text() 方法,传入坐标位置(如右上角 (width-40, 0))、文本内容、字体对象和颜色,完成文字渲染。最后调用 image.save() 将结果持久化到磁盘。
完整代码示例
以下代码展示了如何定义一个函数 pic_add_num,将数字 "99" 以红色字体添加到图片右上角,并保存为新文件。
from PIL import Image, ImageDraw, ImageFont
def pic_add_num(image):
# 指定字体路径及大小
my_font = ImageFont.truetype(r"C:\windows\Fonts\simsun.ttc", size=40)
color = "red"
# 获取图像尺寸以计算坐标
width, height = image.size
# 设定文字位置:右上角偏移
position = (width-40, 0)
# 创建绘图对象
draw = ImageDraw.Draw(image)
# 在指定位置绘制文字
draw.text(position, "99", font=my_font, fill=color)
# 保存修改后的图像
image.save("add_num.jpg")
if __name__ == "__main__":
# 打开原始图像
img = Image.open("universe.jpg")
# 执行添加文字操作
pic_add_num(img)关键点解析
- 字体路径:Windows系统通常位于
C:\windows\Fonts\,Linux或macOS需替换为对应系统的字体文件路径(如/usr/share/fonts/...)。 - 坐标计算:示例中通过
width-40动态计算横坐标,确保文字紧贴右边缘,纵坐标设为0表示顶部对齐。 - 颜色格式:Pillow支持颜色名称字符串(如
"red")或RGB元组(如(255, 0, 0))。
以上就是Python Pillow实现图片文字添加与保存的详细内容,更多关于Python图像处理或Pillow库进阶使用的资料请关注本站其它相关文章!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













