在pycharm中实现可以由用户自定义点阵水印内容和生成水印数量的点阵水印python代码实现
时间: 2024-12-21 19:30:10 浏览: 2
watermark_傅里叶变换_python实现盲水印_
5星 · 资源好评率100%
在PyCharm中,你可以使用Python的PIL(Pillow)库来创建点阵水印。这里是一个基本的示例,让用户自定义点阵内容和生成指定数量的水印:
```python
from PIL import Image, ImageDraw
# 定义函数,接受用户输入和参数
def create_watermark(text, image_path, output_dir, num_watermarks):
img = Image.open(image_path)
draw = ImageDraw.Draw(img)
# 将文字转换为黑白点阵
font_size = 30 # 可以让用户选择字体大小
for _ in range(num_watermarks):
x = img.width * random.random() # 随机x坐标
y = img.height * random.random() # 随机y坐标
text_position = (int(x), int(y))
draw.text(text=text_position, fill=(255, 255), font=font_font, text=text) # 黑色文字在白色背景下
# 保存水印后的图片
for i in range(num_watermarks):
output_path = f"{output_dir}/watermark_{i}.png"
img.save(output_path)
# 用户输入自定义信息
text = input("请输入水印内容: ")
image_path = input("请输入原图路径: ")
output_dir = input("请输入输出目录: ")
num_watermarks = int(input("请输入水印数量: "))
create_watermark(text, image_path, output_dir, num_watermarks)
```
在这个例子中,用户需要提供水印内容、原始图片路径、输出目录以及希望生成的水印数量。运行这个脚本会为每份图片生成指定数量的随机位置水印。
阅读全文