提供一个可以实现由用户自定义内容自行为图片添加点阵水印的python代码
时间: 2024-12-15 22:30:08 浏览: 2
Python实现点阵字体读取与转换的方法
在Python中,你可以使用PIL(Pillow)库来实现用户自定义内容的点阵水印功能。这里是一个简单的例子,展示如何实现这个功能:
```python
from PIL import Image, ImageDraw, ImageFont
def add_watermark(image_path, output_path, text, position, font_path, transparency=0.5):
# 读取原始图片
img = Image.open(image_path)
# 加载字体
font = ImageFont.truetype(font_path, size=24) # 字体大小和路径可以根据需求修改
# 设置水印位置
x, y = position
# 创建新的图层
watermark = Image.new('RGBA', img.size, (255, 255, 255, int(255 * transparency))) # 透明度可以调整
draw = ImageDraw.Draw(watermark)
draw.text((x, y), text, font=font, fill=(0, 0, 0, 255)) # 黑色文字,透明度设为255保持可见
# 将水印叠加到原图上
result = Image.alpha_composite(img, watermark)
# 保存结果
result.save(output_path)
# 用户输入或配置参数
image_path = "input.jpg"
output_path = "output_with_watermark.jpg"
text = input("请输入水印内容:")
position = (50, 50) # 水印左下角坐标,默认50x50,可自定义
font_path = "arial.ttf"
add_watermark(image_path, output_path, text, position, font_path)
```
在这个代码里,用户可以在运行时输入自定义的水印文字,然后设置水印的位置和字体。透明度也可以调整以适应需要。
阅读全文