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 相关文章推荐
python操作mongodb根据_id查询数据的实现方法
May 20 Python
Python 中 Meta Classes详解
Feb 13 Python
python实现支付宝当面付(扫码支付)功能
May 30 Python
Django教程笔记之中间件middleware详解
Aug 01 Python
Python3中在Anaconda环境下安装basemap包
Oct 21 Python
基于pytorch的保存和加载模型参数的方法
Aug 17 Python
Python aiohttp百万并发极限测试实例分析
Oct 26 Python
python实现字典嵌套列表取值
Dec 16 Python
Pycharm和Idea支持的vim插件的方法
Feb 21 Python
pytorch 查看cuda 版本方式
Jun 23 Python
如何使用pycharm连接Databricks的步骤详解
Sep 23 Python
Python Pandas知识点之缺失值处理详解
May 11 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类
2008/04/09 PHP
PHP5常用函数列表(分享)
2013/06/07 PHP
php利用单例模式实现日志处理类库
2014/02/10 PHP
PHP生成静态HTML页面最简单方法示例
2015/04/09 PHP
php发送html格式文本邮件的方法
2015/06/10 PHP
PHP实现微信申请退款功能
2018/10/01 PHP
thinkphp5实现微信扫码支付
2019/12/23 PHP
Laravel如何实现适合Api的异常处理响应格式
2020/06/14 PHP
Laravel登录失败次数限制的实现方法
2020/08/26 PHP
Avengerls vs Newbee BO3 第一场2.18
2021/03/10 DOTA
JavaScript 原型继承
2011/12/26 Javascript
javascript学习笔记(三)BOM和DOM详解
2014/09/30 Javascript
js实现顶部可折叠的菜单工具栏效果实例
2015/05/09 Javascript
js生成验证码并直接在前端判断
2015/05/15 Javascript
JavaScript设计模式经典之工厂模式
2016/02/24 Javascript
javascript时间差插件分享
2016/07/18 Javascript
AngularJS 实现弹性盒子布局的方法
2016/08/30 Javascript
vue mint-ui tabbar变组件使用
2018/05/04 Javascript
vue 组件中添加样式不生效的解决方法
2018/07/06 Javascript
Jquery和CSS实现选择框重置按钮功能
2018/11/08 jQuery
vue项目中使用rem,在入口文件添加内容操作
2020/11/11 Javascript
如何在现代JavaScript中编写异步任务
2021/01/31 Javascript
[49:08]OpTic vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python 切片和range()用法说明
2013/03/24 Python
使用python Django做网页
2013/11/04 Python
python随机生成库faker库api实例详解
2019/11/28 Python
Python实现手绘图效果实例分享
2020/07/22 Python
HTML5 Canvas画线技巧——实现绘制一个像素宽的细线
2013/08/02 HTML / CSS
巴西备受欢迎的服装和生活方式品牌:FARM Rio
2020/02/04 全球购物
武汉世纪畅想数字传播有限公司 .NET笔试题
2015/06/13 面试题
最新党员的自我评价分享
2013/11/04 职场文书
拾金不昧表扬信范文
2014/01/11 职场文书
银行求职信
2014/05/31 职场文书
工作疏忽检讨书500字
2014/10/26 职场文书
2014年计生协会工作总结
2014/11/21 职场文书
MySql中的json_extract函数处理json字段详情
2022/06/05 MySQL