Python实现图片添加文字
作者:talk_8 发布时间:2021-11-22 21:17:11
在工作中有时候会给图上添加文字,常用的是PS工具,不过我想通过代码的方式来给图片添加文字。
需要使用的Python的图像库:PIL.更加详细的知识点如下:
Imaga模块:用来创建,打开,保存图片文件
new(path):用来创建一个新的图片文件.该文件位于path所在的路径中。。打开后返回Image类型的图片。
open(path):用来打开已经存在的图片文件.该文件位于path所在的路径中。打开后返回Image类型的图片。
save(path):用来把创建或者打开的图片保到path所在的路径中。
ImageDraw模块:用来在图片上绘制点,线,图形和文字。
Draw(Image):用来返回一个ImageDraw类型的图片,它的参数为Image类型的图片。
text((x,y),str,…):用来在图片上添加文字,文字位置x,y所在坐标处,文字内容为str,其它参数可以控制文字字体和颜色。
下面是完整的代码,请参考:
from PIL import Image,ImageDraw
def addText(img,string):
size = img.size
width = size[0] - 20
high = size[1] - 20
lenth = len(string)*3
draw = ImageDraw.Draw(img)
draw.text((width-lenth,high),string,fill='black')
oriImg.show()
oriImg.save(path)
path = input("Please input the image file with path")
try:
print("path: "+path)
oriImg = Image.open(path)
addText(oriImg,"good")
except IOError:
print("can't' open the file,check the path again")
newImg = Image.new('RGBA',(320,240),'white')
newImg.save(path)
关于代码做以下说明:
在代码中,会创建一个320*240和图片,背景为白色,里面什么也没有。
把文字和图片边的宽度设置成了20,这个可以自己定义。另外,字符占用的长度乘以3是个经验值,也可以修改。
在图片中添加的文字为'good',这个可以自己定义。
下面是程序的运行结果:
PS:第一次运行时,如果没有图片,会有以下提示,同时会创建一个新的图片。
Please input the image file with pathH:\download\test.png(this is content of input )
path: H:\download\test.png
can't' open the file,check the path again
以后再次运行时,就使用系统默认的图片浏览器打开一个320*240和图片,图片右下角有黑色的文字:'good‘ 。
来源:https://blog.csdn.net/talk_8/article/details/82085187


猜你喜欢
- 1、场景1)用户输入完网址后,浏览器直接弹出需要输入用户名/密码PS:此时输入用户名密码即可登录,或者直接带着用户名密码访问网站。假设url
- 很荣幸您能看到这篇文章,相信通过标题打开这篇文章的都是对tensorflow感兴趣的,特别是对卷积神经网络在mnist手写识别这个实例感兴趣
- WSGI协议首先弄清下面几个概念:WSGI:全称是Web Server Gateway Interface,WSGI不是服务器,python
- 第一种:.py文件直接封装成exe1.cmd进入py文件所在的目录备注:在py文件所在的目录下,按住shift+鼠标右击,然后找到&
- MS SQL Server 2000通过企业管理器设置数据库的定期自动备份计划。1、打开企业管理器,双击打开你的服务器2、然后点上面菜单中的
- 本文实例为大家分享了ADO.NET通用数据库访问类,供大家参考学习,具体内容如下using System;using System.Coll
- vue前端项目打包成Docker镜像并运行首先说明咱们的前端项目是基于Vue的,反向代理使用的是nginx1.打包vue前端项目生成dist
- 更换国内源vi /etc/apt/sources.listdeb https://mirrors.aliyun.com/kali kali-
- 导语每年的节假日一到,大家头疼的总时同一个问题:你买到回家的票了吗?尤其是大型的节日:”比如国庆、春节......&am
- 前言今天我们简单说下Python函数和控制语句,大纲如下:函数“脏活累活交给函数来做”,首先,看看P
- MySQL安全性指南(3) 作 者: 晏子2.4 不用GRANT设置用户如果你有一个早于3.22.11的MySQL版本,你不能使用GRANT
- 防止用户通过后退按钮重复提交表单 <% response.Buffer=true response.Expires=0 respons
- 前言在大多数介绍 Buffer 的文章中,主要是围绕数据拼接和内存分配这两方面的。比如我们使用fs模块来读取文件内容的时候,返回的就是一个
- Python实现AES算法密码学课程老师留的作业,我觉得用python实现更简单,就用python写了一个加解密的程序。程序分成三个部分,一
- 在web开发的时候我们经常会遇到网页抓取和分析,各种语言都可以完成这个功能。我喜欢用python实现,因为python提供了很多成熟的模块,
- 如:获得 2015-03-01 日的前7天的日期 : select date_sub('2015-03-01',interv
- Python实现GIF动图的提取及合成在开始之前,先来一个动图开头(预览)图片转GIF动图1、准备工作在开始合并前,先明确要转换哪些图片,以
- 本文实例讲述了MSSQL分页存储过程。分享给大家供大家参考,具体如下:USE [DB_Common]GO/****** 对象: Stored
- 本文实例讲述了MHA实现mysql主从数据库手动切换的方法,分享给大家供大家参考。具体方法如下:一、准备工作1、分别在Master和Slav
- 一、APC缓存简介APC,全称是Alternative PHP Cache,官方翻译叫”可选PHP缓存”。它为我们提供了缓存和优化PHP的中