使用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)
相关推荐
肖永威1 小时前
Python多业务并行计算框架插件化演进:从硬编码到动态注册
python·插件化·并行计算·动态注册
yz_aiks1 小时前
Linux Jar包配置Systemd自启动实战:从排查到配置全流程
linux·python·jar·自启动·systemd
threelab1 小时前
Three.js 物理模拟着色器 | 三维可视化 / AI 提示词
开发语言·前端·javascript·人工智能·3d·着色器
武器大师721 小时前
lv_binding_js 代码解读
开发语言·javascript·ecmascript
不知名的老吴1 小时前
线程的生命周期之线程“插队“
java·开发语言·python
kaikaile19952 小时前
数字全息图处理系统(C# 实现)
开发语言·c#
xsc6996753 小时前
从零搭建大模型与智能体平台 - 完整技术详解
python
秋93 小时前
Go语言(Golang)开发工程师全景解析:岗位职责·语言优势与使用场景·各城市薪资·发展前景·高考志愿填报(2026版)
开发语言·golang·高考
无风听海4 小时前
多租户系统中的 OIDC:Discovery 端点与联合登录的深度实践
后端·python·flask
CTA终结者4 小时前
期货量化主力换月程序怎么移仓:天勤 underlying_symbol 与任务切换
python·区块链