Python实现图片添加文字


Posted in Python onNovember 26, 2019

在工作中有时候会给图上添加文字,常用的是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‘

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
利用aardio给python编写图形界面
Aug 21 Python
django站点管理详解
Dec 12 Python
python删除不需要的python文件方法
Apr 24 Python
python-str,list,set间的转换实例
Jun 27 Python
pandas dataframe添加表格框线输出的方法
Feb 08 Python
Python异步操作MySQL示例【使用aiomysql】
May 16 Python
在pytorch中为Module和Tensor指定GPU的例子
Aug 19 Python
python tkinter图形界面代码统计工具
Sep 18 Python
win10环境下配置vscode python开发环境的教程详解
Oct 16 Python
python如何对链表操作
Oct 10 Python
详解运行Python的神器Jupyter Notebook
Jun 03 Python
Python matplotlib多个子图绘制整合
Apr 13 Python
从numpy数组中取出满足条件的元素示例
Nov 26 #Python
python实现图片上添加图片
Nov 26 #Python
numpy:找到指定元素的索引示例
Nov 26 #Python
python中seaborn包常用图形使用详解
Nov 25 #Python
解决python中的幂函数、指数函数问题
Nov 25 #Python
妙用itchat! python实现久坐提醒功能
Nov 25 #Python
python pygame实现滚动横版射击游戏城市之战
Nov 25 #Python
You might like
自定义php类(查找/修改)xml文档
2013/03/26 PHP
thinkphp模板的包含与渲染实例分析
2014/11/26 PHP
自定义min版smarty模板引擎MinSmarty.class.php文件及用法
2016/05/20 PHP
smarty中改进truncate使其支持中文的方法
2016/05/30 PHP
用PHP将Unicode 转化为UTF-8的实现方法(推荐)
2017/02/08 PHP
javascript入门·对象属性方法大总结
2007/10/01 Javascript
关于js获取radio和select的属性并控制的代码
2011/05/12 Javascript
javascript工具库代码
2012/03/29 Javascript
js操作输入框提示信息且响应鼠标事件
2014/03/25 Javascript
JS获取复选框的值,并传递到后台的实现方法
2016/05/30 Javascript
BootStrap智能表单实战系列(六)表单编辑页面的数据绑定
2016/06/13 Javascript
深入理解JavaScript中的块级作用域、私有变量与模块模式
2016/10/31 Javascript
js中开关变量使用实例
2017/02/24 Javascript
十个免费的web前端开发工具详细整理
2017/09/18 Javascript
js中json对象和字符串的理解及相互转化操作实现方法
2017/09/22 Javascript
Postman模拟发送带token的请求方法
2018/03/31 Javascript
浅谈React之状态(State)
2018/09/19 Javascript
微信小程序导入Vant报错VM292:1 thirdScriptError的解决方法
2019/08/01 Javascript
在layui下对元素进行事件绑定的实例
2019/09/06 Javascript
Vue elementui字体图标显示问题解决方案
2020/08/18 Javascript
[02:56]DOTA2上海特锦赛小组赛解说FreeAgain采访花絮
2016/02/27 DOTA
python连接字符串的方法小结
2015/07/13 Python
python实现决策树
2017/12/21 Python
使用pandas read_table读取csv文件的方法
2018/07/04 Python
使用50行Python代码从零开始实现一个AI平衡小游戏
2018/11/21 Python
python制作简单五子棋游戏
2019/06/18 Python
anaconda如何查看并管理python环境
2019/07/05 Python
简单了解Python3里的一些新特性
2019/07/13 Python
Python入门Anaconda和Pycharm的安装和配置详解
2019/07/16 Python
用python给csv里的数据排序的具体代码
2020/07/17 Python
python爬虫数据保存到mongoDB的实例方法
2020/07/28 Python
Styleonme中文网:韩国高档人气品牌
2017/06/21 全球购物
欧洲当代手工玻璃和瓷器的领先品牌:LSA International
2018/06/03 全球购物
美国受信赖的教育产品供应商:Nest Learning
2018/06/14 全球购物
婚姻出轨保证书
2015/05/08 职场文书
物业保洁员管理制度
2015/08/05 职场文书