想要在图片上添加文字内容,需要使用Python中的Pillow库。Pillow是Python的一个图像处理库,可以使用它加载、处理和保存多种格式的图像文件,包括bmp、gif、jpg、png以及bmp等格式。
具体操作流程如下:
安装Pillow库
首先需要确保安装了pip,然后执行下列命令即可完成Pillow的安装:
pip install Pillow
导入Pillow库
在Python的代码中,需要先导入所需要的库,如下:
from PIL import Image
from PIL import ImageDraw
from PIL import ImageFont
打开图片
使用Pillow库中的Image模块打开一张图片,例如打开一个名为“image.jpg”的图片,可以如下获取:
img = Image.open('image.jpg')
在图片上添加文字
使用Pillow库中的ImageDraw模块在已加载的图片上添加文本。以下是一条添加文字的基本语句:
draw.text((x, y), text, font=font, fill=(r, g, b))
其中,参数含义如下:
- (x, y):文本的起始坐标,即文本框的左上角坐标
- text:需要添加的文本内容
- font:绘制文本所使用的字体,可以使用Pillow库中的ImageFont模块加载字体文件,
如:
font = ImageFont.truetype('Fonts/arial.ttf', size=20)
- fill:文本的颜色,通常为一个RGB元组,如(255,255,255)表示纯白色
以下是一个简单的添加文字的示例:
import random
from PIL import Image, ImageDraw, ImageFont
# 打开图片
img = Image.open('example.jpg')
draw = ImageDraw.Draw(img)
# 设置字体
font = ImageFont.truetype('arial.ttf', 40)
# 随机生成文字坐标和文本内容
x = random.randint(0, 100)
y = random.randint(0, 100)
text = ''.join([chr(random.randint(65, 90)) for i in range(5)])
# 添加文本
draw.text((x, y), text, font=font, fill=(255, 0, 0))
# 保存图片
img.save('example_with_text.jpg')
该示例中随机生成文本的内容,并在图片左上角添加红色文本。
在图片上添加图片
如果需要在图片上添加另一张图片,可以使用Image模块的paste()方法实现。以下是一个添加图片的示例:
# 打开主图片
main_img = Image.open('main_image.png')
# 打开待添加的图片
add_img = Image.open('add_image.png')
# 计算待添加图片的尺寸,缩小至主图片的1/4
add_width, add_height = add_img.size
add_img_ratio = add_width / add_height
main_width, main_height = main_img.size
new_add_width = main_width / 4
new_add_height = new_add_width / add_img_ratio
add_img = add_img.resize((int(new_width), int(new_height)))
# 在主图片的中央添加待添加图片
center_x = (main_width - new_add_width) / 2
center_y = (main_height - new_add_height) / 2
coordinate = (int(center_x), int(center_y))
main_img.paste(add_img, coordinate)
# 保存图片
main_img.save('result.png')
以上示例中,将从add_image.png
加载一个图片,缩小到主图片的1/4,然后将其添加到主图片的中心位置。
以上就是如何使用Python在图片上添加文本和另一张图片的方法,当然还有更多的操作可以通过Pillow库实现。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python如何实现内容写在图片上 - Python技术站