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命令行参数解析OptionParser类用法实例
Oct 09 Python
python执行shell获取硬件参数写入mysql的方法
Dec 29 Python
详解python3实现的web端json通信协议
Dec 29 Python
python距离测量的方法
Mar 06 Python
NLTK 3.2.4 环境搭建教程
Sep 19 Python
在Python运行时动态查看进程内部信息的方法
Feb 22 Python
python面试题小结附答案实例代码
Apr 11 Python
Python 的AES加密与解密实现
Jul 09 Python
python多线程共享变量的使用和效率方法
Jul 16 Python
利用Python代码实现一键抠背景功能
Dec 29 Python
Python定时任务APScheduler原理及实例解析
May 30 Python
Python jieba库分词模式实例用法
Jan 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
解析关于wamp启动是80端口被占用的问题
2013/06/21 PHP
php判断ip黑名单程序代码实例
2014/02/24 PHP
PHP基本语法总结
2014/09/06 PHP
在Ubuntu 18.04上安装PHP 7.3 7.2和7.0的方法
2019/04/09 PHP
PHP调用QQ互联接口实现QQ登录网站功能示例
2019/10/24 PHP
js滚动条多种样式,推荐
2007/02/05 Javascript
Javascript条件判断使用小技巧总结
2008/09/08 Javascript
JS去除数组重复值的五种不同方法
2013/09/06 Javascript
jQuery处理xml格式的返回数据(实例解析)
2013/11/28 Javascript
Javascript写入txt和读取txt文件示例
2014/02/12 Javascript
ExtJS4 动态生成的grid导出为excel示例
2014/05/02 Javascript
基于JavaScript实现购物网站商品放大镜效果
2016/09/06 Javascript
详解webpack介绍&安装&常用命令
2017/06/29 Javascript
JavaScript上传文件时不用刷新页面方法总结(推荐)
2017/08/15 Javascript
解决vue router组件状态刷新消失的问题
2018/08/01 Javascript
CKeditor4 字体颜色功能配置方法教程
2019/06/26 Javascript
Vue过渡效果之CSS过渡详解(结合transition,animation,animate.css)
2020/02/05 Javascript
微信小程序纯文本实现@功能
2020/04/08 Javascript
分析Python的Django框架的运行方式及处理流程
2015/04/08 Python
Python EOL while scanning string literal问题解决方法
2020/09/18 Python
Python闭包实现计数器的方法
2015/05/05 Python
详解python函数的闭包问题(内部函数与外部函数详述)
2019/05/17 Python
numpy ndarray 按条件筛选数组,关联筛选的例子
2019/11/26 Python
python实现五子棋游戏(pygame版)
2020/01/19 Python
Python使用configparser库读取配置文件
2020/02/22 Python
Python实现捕获异常发生的文件和具体行数
2020/04/25 Python
python如何编写win程序
2020/06/08 Python
官方授权图形T恤和服装:Fifth Sun
2019/06/12 全球购物
莫斯科制造商的廉价皮大衣:Fursk
2020/06/09 全球购物
试用期员工考核制度
2014/01/22 职场文书
国旗下的演讲稿
2014/05/08 职场文书
技能比武方案
2014/05/21 职场文书
钳工实训报告总结
2014/11/04 职场文书
孕妇离婚协议书范本
2014/11/20 职场文书
房产公证书格式
2015/01/26 职场文书
篮球拉拉队口号
2015/12/25 职场文书