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开发之字符串string操作方法实例详解
Nov 12 Python
python僵尸进程产生的原因
Jul 21 Python
Python实现变量数值交换及判断数组是否含有某个元素的方法
Sep 18 Python
Python数据类型之Tuple元组实例详解
May 08 Python
Python数据结构与算法(几种排序)小结
Jun 22 Python
matplotlib.pyplot画图并导出保存的实例
Dec 07 Python
opencv中图像叠加/图像融合/按位操作的实现
Apr 01 Python
使用Django清空数据库并重新生成
Apr 03 Python
pycharm 2018 激活码及破解补丁激活方式
Sep 21 Python
解决python cv2.imread 读取中文路径的图片返回为None的问题
Jun 02 Python
python中取绝对值简单方法总结
Jul 24 Python
Python爬虫数据的分类及json数据使用小结
Mar 29 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
destoon安全设置中需要设置可写权限的目录及文件
2014/06/21 PHP
php 截取utf-8格式的字符串实例代码
2016/10/30 PHP
php fread函数使用方法总结
2019/05/28 PHP
js写一个弹出层并锁屏效果实现代码
2012/12/07 Javascript
Jquery实现自定义窗口随意的拖拽
2014/03/12 Javascript
详谈JavaScript 匿名函数及闭包
2014/11/14 Javascript
JavaScript中标识符提升问题
2015/06/11 Javascript
JS实现图片延迟加载并淡入淡出效果的简单方法
2016/08/25 Javascript
微信小程序 视图层(xx.xml)和逻辑层(xx.js)详细介绍
2016/10/13 Javascript
jquery+css3问卷答题卡翻页动画效果示例
2016/10/26 Javascript
Ionic3 UI组件之Gallery Modal详解
2017/06/07 Javascript
JS实现非首屏图片延迟加载的示例
2018/01/06 Javascript
vue配置请求本地json数据的方法
2018/04/11 Javascript
基于Nodejs的Tcp封包和解包的理解
2018/09/19 NodeJs
bootstrap-table formatter 使用vue组件的方法
2019/05/09 Javascript
layui扩展上传组件模拟进度条的方法
2019/09/23 Javascript
从表单校验看JavaScript策略模式的使用详解
2020/10/17 Javascript
[15:07]lgd_OG_m2_BP
2019/09/10 DOTA
Python psutil模块简单使用实例
2015/04/28 Python
Python 模拟员工信息数据库操作的实例
2017/10/23 Python
python scatter散点图用循环分类法加图例
2019/03/19 Python
简单了解Django ContentType内置组件
2019/07/23 Python
处理python中多线程与多进程中的数据共享问题
2019/07/28 Python
Python使用enumerate获取迭代元素下标
2020/02/03 Python
python实现暗通道去雾算法的示例
2020/09/27 Python
美国最大的骑马用品零售商:HorseLoverZ
2017/01/12 全球购物
俄罗斯香水和化妆品购物网站:Л’Этуаль
2018/05/10 全球购物
土建资料员岗位职责
2014/01/04 职场文书
竞聘书怎么写,如何写?
2014/03/31 职场文书
三月法制宣传月活动总结
2014/07/03 职场文书
学校安全生产月活动总结
2014/07/05 职场文书
学校光盘行动倡议书
2015/04/28 职场文书
2015年中学体育教师工作总结
2015/10/23 职场文书
2016年“6.26”禁毒宣传月系列活动总结
2016/04/05 职场文书
利用python做数据拟合详情
2021/11/17 Python
分享几个实用的CSS代码块
2022/06/10 HTML / CSS