使用python给图片加上文字水印

使用python给图片加上文字水印

作用

  1. 给图片加上文字水印
  2. 文字水印的字体,颜色,位置可自定义

效果

原图:

加水印后的图:

代码

python 复制代码
from PIL import Image, ImageDraw, ImageFont


def add_text_watermark(input_image_path, output_image_path, text, position, font_path, font_size, color):
    # 打开图片
    img = Image.open(input_image_path)

    # 创建一个可以在给定图像上绘图的对象
    draw = ImageDraw.Draw(img)

    # 加载字体,并设置字体大小
    font = ImageFont.truetype(font_path, font_size)

    # 获取文本大小(宽度,高度)
    #text_width, text_height = draw.textsize(text, font)

    # 根据给定的位置调整文本位置
    # 这里假设position是一个元组,包含(x, y)坐标
    # 例如,如果你想让文本在右下角,你可以使用(img.width - text_width, img.height - text_height)
    x, y = position

    # 在图片上添加文本
    draw.text((x, y), text, fill=color, font=font)

    # 保存图片
    img.save(output_image_path)


# 使用示例
input_image_path = '心形.jpg'  # 输入图片路径
output_image_path = 'output_with_watermark.jpg'  # 输出图片路径
text = 'Watermark'  # 要添加的水印文本
position = (10, 10)  # 水印文本的起始位置(左上角)
font_path = 'arial.ttf'  # 字体文件路径,确保你有这个文件
font_size = 36  # 字体大小
color = (0, 0, 255)  # 字体颜色

add_text_watermark(input_image_path, output_image_path, text, position, font_path, font_size, color)
相关推荐
企业数字化笔记8 小时前
AI工具参数很多怎么办?预设、表单校验、危险参数与配置审计
java·spring boot·python·音视频
梅菲塔亚8 小时前
华为云从入门到实战
开发语言·华为云·php
霸道流氓气质9 小时前
幂等性与 Upsert:防止重复操作产生副作用的技术
开发语言·php
牛奔9 小时前
mise 管理多版本 Go 项目
开发语言·前端·chrome·后端·golang
波力海苔夹心脆6759 小时前
C# 视觉检测实战:PLC 按钮触发 VisionPro 检测,OK 亮灯 / NG 灭灯(西门子 PLC,含界面显示与图片存档)
开发语言·经验分享·c#·自动化·视觉检测·.net
2601_962885729 小时前
如何用 Python 计算 BBI 多空指标?
开发语言·python
必须得开心呀9 小时前
为什么 python-docx 打不开加密的 .docx,Word COM 却能打开
python·word
VidDown9 小时前
上传 2GB 文件别让 Django 接:分片上传、对象存储直传与秒传
python·django·音视频·状态模式·实时音视频·视频编解码·视频
老王爱玩车9 小时前
动态内存管理
c语言·开发语言·学习·面试
I'm Jie10 小时前
【开源】7 天,我用 Rust 复刻了 FinalShell!Rhost v1.0.0 发布
开发语言·rust·开源