利用Python生成带有水印的PNG图像
发布时间:2023-12-10 23:53:50
生成带有水印的PNG图像可以使用Python中的PIL库(Python Imaging Library)来实现。PIL库为我们提供了一系列处理图像的功能,包括添加水印、调整大小、剪裁等。
下面是一个简单的示例,展示了如何使用Python生成带有水印的PNG图像:
from PIL import Image, ImageDraw, ImageFont
# 打开原始图像
image = Image.open('original.png')
width, height = image.size
# 创建一个新的画布,与原始图像大小一致
new_image = Image.new('RGBA', (width, height), (255, 255, 255, 0))
# 在新的画布上绘制原始图像
new_image.paste(image, (0, 0), image)
# 创建一个文字水印
text_watermark = "Watermark"
font = ImageFont.truetype('Arial.ttf', 36)
text_width, text_height = font.getsize(text_watermark)
text_layer = Image.new('RGBA', (text_width, text_height), (255, 255, 255, 0))
text_draw = ImageDraw.Draw(text_layer)
text_draw.text((0, 0), text_watermark, font=font, fill=(255, 255, 255, 100))
# 将文字水印添加到图像上
position = (width - text_width, height - text_height)
new_image.paste(text_layer, position, text_layer)
# 保存生成的图像
new_image.save('watermarked.png')
在这个例子中,我们首先打开一个原始的PNG图像,然后创建一个与原始图像大小相同的新画布。接下来,我们将原始图像绘制在新画布上。然后,我们创建一个带有文字的水印图层,并将其添加到新画布的适当位置上。最后,我们保存生成的带有水印的PNG图像。
请确保在运行代码之前将original.png和Arial.ttf文件放置在同一目录下,以便正确加载图像和字体文件。
这只是一个简单的示例,你可以根据自己的需求进行修改和扩展。希望这个示例对你有所帮助!
