Python往图片里面写字

介绍

在现代社会中,图片已经成为人们生活中不可或缺的一部分。而在很多情况下,我们可能需要给图片添加一些文字说明,如在幻灯片、报告或者海报中。Python提供了一种简单而又灵活的方式,可以往图片里面写字。

准备工作

在开始之前,我们需要安装一些必要的Python库。在本文中,我们将使用Pillow库来处理图片,并使用Python自带的os库来处理文件路径。

安装Pillow库可以使用以下命令:

!pip install pillow

编写代码

下面我们将演示如何使用Python往图片里面写字。

第一步,首先导入相关的库:

from PIL import Image, ImageDraw, ImageFont
import os

第二步,选择一张图片作为我们的示例图片。在本文中,我们将使用一张名为"example.jpg"的图片。

image_path = os.path.join(os.getcwd(), "example.jpg")
image = Image.open(image_path)

第三步,创建一个可以在图片上绘制的对象:


draw = ImageDraw.Draw(image)

第四步,选择一个字体和字号:

font_path = os.path.join(os.getcwd(), "font.ttf")
font = ImageFont.truetype(font_path, 20)

第五步,选择一个颜色:

text_color = (255, 255, 255)  # 白色

第六步,选择一个位置,然后将文字写入图片中:

text = "Hello, World!"
text_position = (50, 50)
draw.text(text_position, text, font=font, fill=text_color)

第七步,保存修改后的图片:

output_path = os.path.join(os.getcwd(), "output.jpg")
image.save(output_path)

示例代码

下面是完整的示例代码:

from PIL import Image, ImageDraw, ImageFont
import os

# 选择一张图片
image_path = os.path.join(os.getcwd(), "example.jpg")
image = Image.open(image_path)

# 创建一个可以在图片上绘制的对象
draw = ImageDraw.Draw(image)

# 选择一个字体和字号
font_path = os.path.join(os.getcwd(), "font.ttf")
font = ImageFont.truetype(font_path, 20)

# 选择一个颜色
text_color = (255, 255, 255)  # 白色

# 选择一个位置,然后将文字写入图片中
text = "Hello, World!"
text_position = (50, 50)
draw.text(text_position, text, font=font, fill=text_color)

# 保存修改后的图片
output_path = os.path.join(os.getcwd(), "output.jpg")
image.save(output_path)

运行代码

为了运行上述代码,你需要准备一个示例图片和一个字体文件。将图片和字体文件放在代码所在的目录下,并将图片命名为"example.jpg",字体文件命名为"font.ttf"。

准备好示例图片和字体文件后,将上述代码保存为一个Python文件(如"add_text_to_image.py"),然后在命令行运行以下命令:

!python add_text_to_image.py

运行成功后,你将在代码所在的目录下看到一个名为"output.jpg"的图片文件。打开这个图片文件,你将看到图片上已经写入了文字。

总结

通过Python往图片里面写字,我们可以轻松地给图片添加文字说明。这种技术在制作幻灯片、制作海报或者给图片添加水印等场景中非常有用。希望本文对你有所帮助,谢谢阅读!