在Python中,可以使用PIL(Python Imaging Library)库来将文本作为水印垂直打印在图像上。下面是一个完整的示例代码:
from PIL import Image, ImageDraw, ImageFont
def add_text_watermark(image_path, text, output_path):
# 打开图像
image = Image.open(image_path)
# 创建一个可编辑的图像副本
watermark = image.copy()
# 获取图像的宽度和高度
width, height = image.size
# 创建一个绘图对象
draw = ImageDraw.Draw(watermark)
# 设置水印文本的字体和大小
font = ImageFont.truetype("arial.ttf", 36)
# 计算水印文本的宽度和高度
text_width, text_height = draw.textsize(text, font)
# 计算水印文本的位置
x = (width - text_width) // 2
y = (height - text_height) // 2
# 在图像上绘制水印文本
draw.text((x, y), text, font=font, fill=(255, 255, 255, 128))
# 将水印图像保存到输出路径
watermark.save(output_path)
# 示例用法
image_path = "input.jpg" # 输入图像路径
text = "Watermark" # 水印文本
output_path = "output.jpg" # 输出图像路径
add_text_watermark(image_path, text, output_path)
这段代码使用PIL库打开图像,并创建一个可编辑的图像副本。然后,使用ImageDraw对象在图像上绘制水印文本。最后,将带有水印的图像保存到输出路径。
这是一个简单的示例,你可以根据实际需求进行修改和扩展。如果需要更复杂的水印效果,可以使用PIL库提供的其他功能,如旋转、透明度调整等。
推荐的腾讯云相关产品:腾讯云对象存储(COS),用于存储和管理图像文件。产品介绍链接地址:https://cloud.tencent.com/product/cos
领取专属 10元无门槛券
手把手带您无忧上云