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

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

  • 作用
  • 效果
  • 代码

作用

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

效果

原图:
在这里插入图片描述
加水印后的图:
在这里插入图片描述

代码

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)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/630402.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux 无名信号量(Semaphore)的使用

目录 一、无名信号量的概念二、无名信号量相关函数三、信号量的使用步骤四、应用场景五、测试代码 一、无名信号量的概念 Linux无名信号量(Semaphore)   在Linux操作系统中,信号量(Semaphore)是一种用于进程间或线程…

OSG编程指南<二十三>:基于OSG+ImGui制作模型编辑器,实现三轴方向的实时平移、旋转和缩放变化

1、概述 在OSG的开发应用过程中,我们有时候总会纠结于使用MFC还是Qt来嵌入OSG窗口以便于后续的功能开发,毕竟选择一个合适的UI框架,对于后续的开发还是省去很多麻烦的。但对于初学者来说,可能对框架消息机制的不熟悉,尤…

景源畅信电商:做抖音有哪些未开发的蓝海领域?

在互联网信息爆炸的今天,抖音已经成为人们获取信息和娱乐的重要渠道。然而,随着用户数量的增加和内容的丰富,抖音的红海竞争也日益激烈。在这样的背景下,寻找还未被充分开发的蓝海领域,对于内容创作者来说,…

基于微信小程序+JAVA Springboot 实现的【智慧乡村旅游服务平台】app+后台管理系统 (内附设计LW + PPT+ 源码+ 演示视频 下载)

项目名称 项目名称: 基于微信小程序的智慧乡村旅游服务平台的设计与实现 项目技术栈 该项目采用了以下核心技术栈: 后端框架/库: Java SSM框架数据库: MySQL前端技术: 微信开发者工具、uni-app其他技术&#xff1a…

Darknet+ros+realsenseD435i+yolo(ubuntu20.04)

一、下载Darknet_ros mkidr -p yolo_ws/src cd yolo_ws/src git clone --recursive https://github.com/leggedrobotics/darknet_ros.git #因为这样克隆的darknet文件夹是空的,将darknet_ros中的darknet的文件替换成如下 cd darknet_ros git clone https://github.…

自定义注解

例如写一个注解PrintTime 如下: import java.lang.annotation.*;//下面的注解属于元注解 Target({ElementType.PARAMETER,ElementType.METHOD}) Retention(RetentionPolicy.RUNTIME) Inherited Documented public interface PrintTime {/*** 注解的属性*/public S…

JavaScript 进阶(二)

一、深入对象 1. 创建对象的三种方式 利用 new Object 创建对象 2. 构造函数 【注意事项】 【例】 这样子写好之后,想要添加一个新的结构类似的对象,直接照着红圈中写,最后改相应的数据就好了 注意:红色是第一步,黄…

springboot004网页时装购物系统

springboot004网页时装购物系统 亲测完美运行带论文:获取源码,私信评论或者v:niliuapp 运行视频 包含的文件列表(含论文) 数据库脚本:db.sql其他文件:ppt.pptx论文/文档:开题报告.docx论文&…

如何利用命令提示符列出文件?这里提供了几个实例供你参考

序言 什么命令可以用来列出目录中的文件?如何在命令提示符Windows 10/11中列出文件?很多人对这些问题感到困惑。在这篇文章中,我们详细解释了命令提示符列出文件的主题。 CMD(命令提示符)是一个功能强大的Windows内置…

河南广电与LiblibAI签署战略合作协议

5月15日,河南广电科技与LiblibAI战略签约仪式在郑州中原福塔新闻发布厅隆重举行。双方将本着“共商、共享、共建、共赢”原则,基于全面、可持续的战略合作伙伴关系,发挥各自优势,共同聚焦生成式AI领域,围绕内容创作、商…

【永洪BI】管理系统

管理系统模块包括系统设置、认证授权、日志管理、监控预警、资源部署、VooltDB管理、数据库管理、企业应用配置、系统检查、应用管理模块。 系统设置界面: 可以进行清除系统缓存、配置系统主题、配置系统邮箱、配置门户主页、配置权限管理系统、配置密码策略、配置…

音乐的力量

常听音乐的好处可以让人消除工作紧张、减轻生活压力、避免各类慢性疾病等等,其实这些都是有医学根据的。‍ 在医学研究中发现,经常的接触音乐节 奏、旋律会对人体的脑波、心跳、肠胃蠕动、神经感应等等,产生某些作用,进而促进身心…

【MySQl】MySQL概述 | 数据库的操作 | MySQL的编码问题 | 连接器的工作流程

文章目录 一、MySQL概述1.数据库的概念MySQLMySQL中支持的数据类型: 2.数据库的操作1.创建数据库2.查看数据库3.选中数据库4.删除数据库 3.数据表的操作1.创建表2.查看当前数据库中的所有表3.查看指定表的结构4.删除表 二、MySQL的编码问题常见的编码类型 连接器的工…

Linux文件:重定向底层实现原理(输入重定向、输出重定向、追加重定向)

Linux文件:重定向底层实现原理(输入重定向、输出重定向、追加重定向) 前言一、文件描述符fd的分配规则二、输出重定向(>)三、输出重定向底层实现原理四、追加重定向(>>)五、输入重定向…

邦注科技 工业冷水机的风冷和水冷的区别介绍

工业冷水机在工业生产中扮演着重要角色,特别是在需要精确控制温度的应用中。风冷式冷水机和水冷式冷水机是两种常见的类型,它们之间存在一些显著的区别。 热交换的来源不同: 风冷式冷水机:热交换的来源是气体。它采用空气冷却方…

java技术:nacos

目录 一、docker安装 1、创建一个nacos 2、复制配置信息出来(方便修改配置文件) 3、删除nacos 4、修改配置文件(主要是一下几个) 6、创建数据库 nacos 7、重启nacos mysql 一、docker安装 1、创建一个nacos docker run …

随笔:棋友们

我是在小学二年级学会中国象棋的,准确说,是学会象棋的下棋规则的,师傅是二舅。我最早的对手就是同学波仔。波仔比我略早学会象棋,总用连珠炮欺负我,开局几步棋就把我将死。我不知道怎么破解。轮到我先走时,…

几个排序器的verilog及其资源占用、延时分析

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 前言 因为课题需要,调研了几个快速排序方法,并手写或者改进了若干待测试对象,包括记分板型冒泡排序(这个是别人的&#xff09…

Spring Security实现用户认证二:前后端分离时自定义返回Json内容

Spring Security实现用户认证二:前后端分离时自定义返回Json内容 1 前后端分离2 准备工作依赖WebSecurityConfig配置类 2 自定义登录页面2.1 Spring Security的默认登录页面2.2 自定义配置formLogin 3 自定义登录成功处理器4 自定义登录失败处理器5 自定义登出处理器…

如何快速找出文件夹里的全部带有中文纯中文的文件

首先,需要用到的这个工具: 度娘网盘 提取码:qwu2 蓝奏云 提取码:2r1z 步骤 1、打开工具,切换到批量复制文件 2、鼠标移到右侧,点击搜索添加 3、设定查找范围、指定为文件、勾选 包含全部子文件夹&#x…