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中__str__和__repr__方法的区别
Apr 17 Python
python在指定目录下查找gif文件的方法
May 04 Python
Python中对象迭代与反迭代的技巧总结
Sep 17 Python
python numpy 部分排序 寻找最大的前几个数的方法
Jun 27 Python
python cs架构实现简单文件传输
Mar 20 Python
python绘制简单彩虹图
Nov 19 Python
python 中pyqt5 树节点点击实现多窗口切换问题
Jul 04 Python
分享PyCharm的几个使用技巧
Nov 10 Python
Python编写一个验证码图片数据标注GUI程序附源码
Dec 09 Python
pytorch torchvision.ImageFolder的用法介绍
Feb 20 Python
python检查目录文件权限并修改目录文件权限的操作
Mar 11 Python
Python web如何在IIS发布应用过程解析
May 27 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 CURL CURLOPT参数说明(curl_setopt)
2013/09/30 PHP
PHP跨平台获取服务器IP地址自定义函数分享
2014/12/29 PHP
PHP中实现获取IP和地理位置类分享
2015/02/10 PHP
html 锁定页面(js遮罩层弹出div效果)
2009/10/27 Javascript
javascript 匿名函数的理解(透彻版)
2010/01/28 Javascript
jquery 操作两个select实现值之间的互相传递
2014/03/07 Javascript
Node.js中使用Buffer编码、解码二进制数据详解
2014/08/16 Javascript
用原生js做个简单的滑动效果的回到顶部
2014/10/15 Javascript
js使用递归解析xml
2014/12/12 Javascript
js控制网页前进和后退的方法
2015/06/08 Javascript
JavaScript中的getTimezoneOffset()方法使用详解
2015/06/10 Javascript
jQuery实现图片文字淡入淡出效果
2015/12/21 Javascript
三种AngularJS中获取数据源的方式
2016/02/02 Javascript
JavaScript String 对象常用方法总结
2016/04/28 Javascript
js验证框架实现代码分享
2016/05/18 Javascript
Bootstrap零基础学习第一课之模板
2016/07/18 Javascript
JavaScript中定义对象原型的两种使用方法
2016/12/15 Javascript
微信小程序使用input组件实现密码框功能【附源码下载】
2017/12/11 Javascript
利用vue和element-ui设置表格内容分页的实例
2018/03/02 Javascript
JS弹窗 JS弹出DIV并使整个页面背景变暗功能的实现代码
2018/04/21 Javascript
基于node.js实现爬虫的讲解
2019/02/18 Javascript
express + jwt + postMan验证实现持久化登录
2019/06/05 Javascript
vue.js中ref及$refs的使用方法解析
2019/10/08 Javascript
JS实现长图上下滚动效果
2020/03/19 Javascript
JavaScript中CreateTextFile函数
2020/08/30 Javascript
详解Node.JS模块 process
2020/08/31 Javascript
Vue使用CDN引用项目组件,减少项目体积的步骤
2020/10/30 Javascript
Python的Flask框架应用调用Redis队列数据的方法
2016/06/06 Python
利用Python将时间或时间间隔转为ISO 8601格式方法示例
2017/09/05 Python
python抓取网站的图片并下载到本地的方法
2018/05/22 Python
Python threading的使用方法解析
2019/08/28 Python
HTML 5 input placeholder 属性如何完美兼任ie
2014/05/12 HTML / CSS
生物科学专业个人求职信范文
2013/12/07 职场文书
夫妻分居协议书范文
2014/11/26 职场文书
如何用python清洗文件中的数据
2021/06/18 Python
Python操作CSV格式文件的方法大全
2021/07/15 Python