python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python图片添加文字

Python图像处理之轻松实现在图片上添加文字

作者:小庄-Python办公

在当今的数字化时代,我们经常需要处理图像,无论是为摄影作品添加专属水印、批量生成会议证书、还是制作有趣的社交媒体表情包,在图片上添加文字都是一项极其常用且实用的技能,下面我们就来看看如何使用Python实现这一功能吧

引言

在当今的数字化时代,我们经常需要处理图像。无论是为摄影作品添加专属水印、批量生成会议证书、还是制作有趣的社交媒体表情包,**“在图片上添加文字”**都是一项极其常用且实用的技能。

如果你是一名为零基础的Python初学者,好消息是:利用Python来实现这一功能不仅非常简单,而且效率极高。在本篇教程中,我们将系统地学习如何使用Python中最强大且易用的图像处理库——Pillow,一步步将文字完美地融合到图片中。

前置准备

在开始编写代码之前,我们需要准备好以下开发环境和素材:

详细步骤指南

我们将整个过程拆分为五个简单的步骤,即使你是完全的编程新手,也能轻松跟上。

第一步:安装必要的图像处理库

Python原生并不直接支持高级图像操作,因此我们需要借助第三方库。Pillow 是Python中最受欢迎的图像处理库。

打开你的命令行工具(Windows用户打开CMD或PowerShell,Mac用户打开终端),输入以下命令并回车:

pip install Pillow

第二步:导入模块并打开图片

安装完成后,我们开始编写Python代码。首先,我们需要从Pillow库中导入三个核心模块:

from PIL import Image, ImageDraw, ImageFont

# 1. 打开背景图片
# 请确保 'background.jpg' 存在于当前目录
img = Image.open('background.jpg')

第三步:设置字体与颜色

接下来,我们需要告诉Python我们想用什么字体、多大的字号以及什么颜色来书写文字。

# 2. 设置字体和字号
# 注意:如果写中文,请替换为电脑中实际存在的字体路径,例如Windows下的 'C:/Windows/Fonts/simhei.ttf'
font_path = 'arial.ttf'  # 这里以Arial为例,若是中文请换成中文字体文件
font_size = 50
font = ImageFont.truetype(font_path, font_size)

# 3. 设置文字颜色 (R, G, B)
# (255, 255, 255) 代表纯白色,(0, 0, 0) 代表纯黑色
text_color = (255, 255, 255) 

第四步:在图片上绘制文字

现在,我们创建一个“画笔”对象,并使用它将文字写在图片的指定坐标上。

注意:在计算机图像中,坐标系的原点 (0, 0) 位于图片的左上角。向右X轴增加,向下Y轴增加。

# 4. 创建一个可用来绘图的对象
draw = ImageDraw.Draw(img)

# 5. 定义文字内容和插入的坐标位置
text_content = "Hello, Python!"
position = (100, 150)  # 距离左边缘100像素,距离上边缘150像素

# 6. 将文字绘制到图片上
draw.text(position, text_content, font=font, fill=text_color)

第五步:保存与预览最终图片

最后一步,我们将修改后的图片保存为一个新的文件,以免覆盖原始图片,并让Python帮我们打开预览。

# 7. 保存合成后的新图片
img.save('output_image.jpg')

# 8. 预览图片(调用系统默认看图软件)
img.show()

完整代码速览

将以上步骤合并,你就得到了一个完整且可运行的Python脚本:

from PIL import Image, ImageDraw, ImageFont

def add_text_to_image():
    # 1. 打开图片
    img = Image.open('background.jpg')
    
    # 2. 设置字体、字号和颜色 (请根据实际情况修改字体路径)
    font = ImageFont.truetype('simhei.ttf', 50) # 使用黑体支持中文
    text_color = (255, 255, 0) # 黄色
    
    # 3. 创建画笔并绘制文字
    draw = ImageDraw.Draw(img)
    draw.text((50, 50), "你好,Python图像处理!", font=font, fill=text_color)
    
    # 4. 保存并显示结果
    img.save('output_image.jpg')
    img.show()
    print("图片处理完成,已保存为 output_image.jpg")

if __name__ == "__main__":
    add_text_to_image()

常见问题与避坑指南

对于初学者来说,在处理图像时往往会遇到几个经典问题。以下是解决方案:

中文字符变成方块或乱码

文字超出了图片的边界

找不到图片文件 (FileNotFoundError)

学习资源与总结

恭喜你!你已经成功掌握了使用Python给图片添加文字的基础技能。这只是Python自动化图像处理的冰山一角。掌握这个技能后,你可以尝试编写循环,批量为1000张图片打上不同的名字,实现真正的办公自动化。

以上就是Python图像处理之轻松实现在图片上添加文字的详细内容,更多关于Python图片添加文字的资料请关注脚本之家其它相关文章!

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