使用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)
相关推荐
VidDown6 小时前
24fps 转 25fps 不只是改个数字:帧率转换、PAL/NTSC 与音频补偿
python·网络协议·音视频·视频编解码·视频
死磕音视频8 小时前
让小模型做选择题:限定候选项并读取 logits 概率的入门实践(附 Python 代码)
开发语言·python·大模型·文本分类·transformers
凤山老林9 小时前
Spring Boot 接入国密 SM2/SM3/SM4 的一些实践记录
spring boot·后端·python
pride.li10 小时前
第03章 Python 教程-基础语法:注释与变量
服务器·前端·后端·python·算法·计算机视觉
databook10 小时前
用 Pydantic AI 从零搭建一个能干活的 AI Agent
人工智能·python
顽疲11 小时前
Java vue 养老系统源码详解:月账单 care_month_bill 与 Quartz 扣费 Job 实践
java·开发语言·vue.js·vue养老·springboot养老·java养老
康小旺11 小时前
把 markitdown 做成 Windows 桌面版:拖进文档就出 Markdown,附 233MB→64MB 打包裁剪全过程
python
Wang's Blog11 小时前
Java 项目实战: 交友项目 - 安装开发工具与环境准备
java·开发语言·交友
启观川11 小时前
数据结构与算法-第 3 章 常用算法-贪心算法
数据结构·笔记·python·算法·贪心算法
南笙北梦12 小时前
本地开源大模型多轮对话显存泄漏排查与修复实录
python