Python使用PIL库实现图片添加文字
本文介绍如何使用Python的PIL库通过代码为图片添加文字。详细解析Image和ImageDraw模块的关键方法,提供完整代码示例,涵盖创建图片、指定文字坐标与样式、处理文件路径及异常保存等步骤,帮助开发者快速掌握图像处理的自动化技巧。
Python图片添加文字实现概述
在工作场景中,我们经常需要给图片添加文字说明。虽然Photoshop是常用的图形处理工具,但通过编写代码来实现这一功能可以提高效率并实现自动化。
PIL库核心模块解析
实现该功能主要依赖Python的PIL(Python Imaging Library)图像库。以下是该库中涉及的核心知识点:
Image模块:负责图片文件的创建、打开和保存操作。
- new(path):用于创建一个新的图片文件,该文件保存在path指定的路径中。执行后返回一个Image类型的图片对象。
- open(path):用于打开已存在的图片文件,文件路径由path指定。执行后同样返回Image类型的图片对象。
- save(path):用于将创建或打开的图片保存到path指定的路径中。
ImageDraw模块:用于在图片上绘制点、线条、图形以及添加文字。
- Draw(Image):接收一个Image类型的图片作为参数,返回一个ImageDraw类型的绘图对象,用于后续绘制操作。
- text((x,y),str,…):用于在图片上添加文字。参数(x,y)指定文字左上角的坐标,str为要显示的文字内容,其余参数可用于设置字体、颜色等样式。
完整代码示例与说明
以下是实现图片添加文字的完整代码,供参考:
from PIL import Image,ImageDraw
def addText(img,string):
size = img.size
width = size[0] - 20
high = size[1] - 20
lenth = len(string)*3
draw = ImageDraw.Draw(img)
draw.text((width-lenth,high),string,fill='black')
oriImg.show()
oriImg.save(path)
path = input("Please input the image file with path")
try:
print("path: "+path)
oriImg = Image.open(path)
addText(oriImg,"good")
except IOError:
print("can't' open the file,check the path again")
newImg = Image.new('RGBA',(320,240),'white')
newImg.save(path)
以下是对代码逻辑的详细说明:
代码首先创建一个尺寸为320x240像素的白色背景图片,初始状态下图片内容为空。文字与图片边缘的距离设置为20像素,该值可根据需求自定义。字符占用长度的计算采用经验公式:字符长度乘以3,此系数也可根据实际显示效果调整。示例中添加到图片的文字内容为'good',该字符串同样支持自定义修改。
运行结果与注意事项
程序运行后的效果如下所示:
注意:首次运行代码时,如果指定的路径下不存在图片文件,程序会提示错误并创建一个新的图片。
Please input the image file with pathH:\download\test.png(this is content of input ) path: H:\download\test.png can't' open the file,check the path again
当文件存在并成功运行时,系统将使用默认的图片浏览器打开生成的320x240像素图片。图片右下角会显示黑色的文字'good'。
以上就是本文的全部内容,希望这些内容能对您的学习有所帮助,也欢迎大家继续支持本站。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









