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