Python-Pillow给图片加文字

简介: Python-Pillow给图片加文字

依赖

pip install pillow

代码

# -*- coding: utf-8 -*-


from PIL import Image, ImageDraw, ImageFont
import os


def watermark(img_source):
# 打开图片
img = Image.open(img_source)

# 添加文字
draw = ImageDraw.Draw(img)

font = ImageFont.truetype(font='PingFang.ttc', size=50)

# 参数:位置、文本、填充、字体
draw.text(xy=(100, 150), text='一切安好', fill=(255, 255, 255), font=font)

# 保存
name, ext = os.path.splitext(img_source)
img.save(f"{name}-1-{ext}")


if name == '__main__':
watermark("demo.jpeg")

处理结果.png

一切按好.png

            </div>
目录
相关文章
|
Java 数据库连接 mybatis
springboot访问jsp页面变成直接下载?
springboot访问jsp页面变成直接下载?
|
人工智能 自然语言处理 算法
Nature专业户DeepMind又登封面,开源水印技术SynthID-Text,Gemini已经用上了
在AI领域,大型语言模型(LLMs)的应用日益广泛,但如何区分机器生成与人类撰写的内容成为难题。为此,研究人员开发了SynthID-Text,一种基于Tournament采样的生成水印技术。它能有效嵌入水印,同时保持文本质量,具有低计算成本和高检测性能的优势,已在Google DeepMind的Gemini系统中应用。然而,该技术在协调要求、攻击防御及开源模型应用方面仍面临挑战。
292 7
|
Java 开发者
Java SPI机制大揭秘:动态加载服务提供者,一文让你彻底解锁!
【8月更文挑战第25天】Java SPI(服务提供者接口)是一种强大的扩展机制,允许程序在运行时动态加载服务实现。本文首先介绍SPI的基本原理——定义接口并通过配置文件指定其实现类,随后通过示例演示其实现过程。接着,对比分析了SPI与反射及插件机制的不同之处,强调SPI在灵活性与扩展性方面的优势。最后,基于不同场景推荐合适的选择策略,帮助读者深入理解并有效利用SPI机制。
483 1
|
存储 安全 JavaScript
Weaver E-Office v9.5 文件上传(CVE-2023-2648)
Weaver E-Office v9.5 文件上传(CVE-2023-2648)
|
缓存 前端开发 NoSQL
设计与实现个人博客系统的技术架构与最佳实践
设计与实现个人博客系统的技术架构与最佳实践
|
数据采集 机器学习/深度学习 数据挖掘
使用Python进行数据预处理与清洗的最佳实践
本文探讨了Python在数据预处理和清洗中的关键作用。预处理包括数据收集、整合、探索、转换和标准化,而清洗则涉及缺失值、重复值、异常值的处理及数据格式转换。文中提供了使用pandas库进行数据读取、缺失值(如用平均值填充)和重复值处理、异常值检测(如IQR法则)以及数据转换(如min-max缩放)的代码示例。此外,还讲解了文本数据清洗的基本步骤,包括去除标点、转换为小写和停用词移除。整体上,文章旨在帮助读者掌握数据预处理和清洗的最佳实践,以提高数据分析的准确性和效率。
2125 2
|
存储 芯片 内存技术
ROM和RAM的工作原理(DRAM和DROM)以及DRAM的刷新方法
ROM和RAM的工作原理(DRAM和DROM)以及DRAM的刷新方法
3812 2
|
网络协议 程序员
什么是回环地址
【5月更文挑战第16天】什么是回环地址
2126 0
|
前端开发
数据分享|R语言零膨胀泊松回归ZERO-INFLATED POISSON(ZIP)模型分析露营钓鱼数据实例估计IRR和OR
数据分享|R语言零膨胀泊松回归ZERO-INFLATED POISSON(ZIP)模型分析露营钓鱼数据实例估计IRR和OR
|
存储 Java 物联网
SpringBoo利用 MDC 机制过滤出单次请求相关的日志
SpringBoo利用 MDC 机制过滤出单次请求相关的日志