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正则表达式操作指南(re使用)
Sep 06 Python
Python简单计算文件夹大小的方法
Jul 14 Python
Python引用传值概念与用法实例小结
Oct 07 Python
python基于ID3思想的决策树
Jan 03 Python
Python基于matplotlib实现绘制三维图形功能示例
Jan 18 Python
在python环境下运用kafka对数据进行实时传输的方法
Dec 27 Python
python 获取图片分辨率的方法
Jan 08 Python
Python实现制度转换(货币,温度,长度)
Jul 14 Python
python图形界面开发之wxPython树控件使用方法详解
Feb 24 Python
Python selenium使用autoIT上传附件过程详解
May 26 Python
Python 用户输入和while循环的操作
May 23 Python
python 管理系统实现mysql交互的示例代码
Dec 06 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
Ajax+PHP 边学边练 之二 实例
2009/11/24 PHP
基于PHP读取TXT文件向数据库导入海量数据的方法
2013/04/23 PHP
使用迭代器 遍历文件信息的详解
2013/06/08 PHP
PHP中header函数的用法及其注意事项详解
2016/06/13 PHP
Javascript中产生固定结果的函数优化技巧
2013/01/16 Javascript
父节点获取子节点的字符串示例代码
2014/02/26 Javascript
Node.js 的异步 IO 性能探讨
2014/10/08 Javascript
JavaScript 控制字体大小设置的方法
2016/11/23 Javascript
微信小程序网络请求的封装与填坑之路
2017/04/01 Javascript
微信小程序商品详情页规格属性选择示例代码
2017/10/30 Javascript
vue2.0 子组件改变props值,并向父组件传值的方法
2018/03/01 Javascript
layui table 列宽百分比显示的实现方法
2019/09/28 Javascript
JavaScript组合模式---引入案例分析
2020/05/23 Javascript
python 安装virtualenv和virtualenvwrapper的方法
2017/01/13 Python
pygame实现弹力球及其变速效果
2017/07/03 Python
python 中split 和 strip的实例详解
2017/07/12 Python
Python中 传递值 和 传递引用 的区别解析
2018/02/22 Python
django框架model orM使用字典作为参数,保存数据的方法分析
2019/06/24 Python
详解PANDAS 数据合并与重塑(join/merge篇)
2019/07/09 Python
在Python中预先初始化列表内容和长度的实现
2019/11/28 Python
python清空命令行方式
2020/01/13 Python
python中sort sorted reverse reversed函数的区别说明
2020/05/11 Python
python读取hdfs并返回dataframe教程
2020/06/05 Python
python3 os进行嵌套操作的实例讲解
2020/11/19 Python
Django项目在pycharm新建的步骤方法
2021/03/02 Python
html5桌面通知(Web Notifications)实例解析
2014/07/07 HTML / CSS
国际书籍零售商:Wordery
2017/11/01 全球购物
一个精品风格的世界:Atterley
2019/05/01 全球购物
高一英语教学反思
2014/01/22 职场文书
建筑个人求职信范文
2014/01/25 职场文书
自荐信的格式
2014/03/10 职场文书
学校关爱留守儿童活动方案
2014/08/27 职场文书
领导干部作风建设自查报告
2014/10/23 职场文书
初中优秀学生评语
2014/12/29 职场文书
大连导游词
2015/02/12 职场文书
2019年二手房买卖合同范本
2019/10/14 职场文书