python中怎么给图片加水印
1. 加载图片
首先要在Python中加载图片,可以使用第三方库PIL(Python Imaging Library)来实现。PIL库提供了Image模块,可以方便地对图片进行处理。
from PIL import Image
# 加载图片
img = Image.open('image.jpg')
2. 创建水印
要给图片添加水印,首先需要创建一个水印图像。可以使用PIL库中的ImageDraw模块来实现,通过在图像上绘制文本或图案来创建水印。
from PIL import ImageDraw, ImageFont
# 创建水印图像
watermark = Image.new('RGBA', (img.width, img.height), (0, 0, 0, 0))
draw = ImageDraw.Draw(watermark)
# 设置水印文本和字体
text = 'Watermark'
font = ImageFont.truetype('Arial.ttf', 50)
# 在水印图像上绘制水印文本
text_width, text_height = draw.textsize(text, font)
x = (img.width - text_width) // 2
y = (img.height - text_height) // 2
draw.text((x, y), text, font=font, fill=(255, 255, 255, 128))
# 调整水印的透明度
alpha = 0.5
watermark = Image.blend(watermark, Image.new('RGBA', (img.width, img.height), (0, 0, 0, int(255 * alpha))), alpha)
3. 添加水印
有了水印图像后,就可以将其添加到原始图片上了。可以使用PIL库中的Image模块的paste()方法将水印图像粘贴到原始图片上。
# 添加水印
result = Image.alpha_composite(img.convert('RGBA'), watermark)
# 保存结果图片
result.save('result.jpg')
4. 实现代码
下面是完整的示例代码,用于在Python中给图片添加水印:
from PIL import Image, ImageDraw, ImageFont
def add_watermark(image_path, watermark_text, output_path):
# 加载图片
img = Image.open(image_path)
# 创建水印图像
watermark = Image.new('RGBA', (img.width, img.height), (0, 0, 0, 0))
draw = ImageDraw.Draw(watermark)
# 设置水印文本和字体
font = ImageFont.truetype('Arial.ttf', 50)
# 在水印图像上绘制水印文本
text_width, text_height = draw.textsize(watermark_text, font)
x = (img.width - text_width) // 2
y = (img.height - text_height) // 2
draw.text((x, y), watermark_text, font=font, fill=(255, 255, 255, 128))
# 调整水印的透明度
alpha = 0.5
watermark = Image.blend(watermark, Image.new('RGBA', (img.width, img.height), (0, 0, 0, int(255 * alpha))), alpha)
# 添加水印
result = Image.alpha_composite(img.convert('RGBA'), watermark)
# 保存结果图片
result.save(output_path)
# 调用函数
add_watermark('image.jpg', 'Watermark', 'result.jpg')
通过以上的代码,可以在Python中给指定的图片添加水印,并将结果保存为新的图片。你可以根据实际需求调整水印的位置、颜色、透明度等参数。
猜您想看
-
如何使用iKuai软路由进行DHCP服务器客户机管理
iKuai软路...
2023年04月17日 -
R语言可视化ggplot图表系统中的形状类别是什么
形状类别的含义...
2023年07月23日 -
JVM的垃圾回收算法详细介绍
1. 引言JV...
2023年07月23日 -
如何使用iPhone上的画绘功能创作手绘作品
iPhone上...
2023年05月05日 -
如何在微信上发送大型文件?
一、微信发送大...
2023年05月15日 -
Android中怎么利用SurfaceView显示Camera图像
使用Surfa...
2023年07月20日