# 0000在一个图片上画一个数字

# 0000from PIL import Image,ImageFont,ImageDraw# 从PIL库导入所需模块####### PIL:Python Imaging Library,已经是Python平台事实上的图像处理标准库了。PIL功能非常强大,但API(应用程序界面)却非常简单易用。import sys ######### sys能访问解释器联系紧密的变量和函数。reload(sys)   ######### 必须要reload   ///python中获得系统默认编码为import sys;print sys.setdefaultencoding()而修改系统默认编码要在两句之间加reload(sys)## 这是因为python在运行的时候首先加载了site.py而site.py中有“ if hasattr(sys,"setdefaultencoding"): del sys.setdefaultencoding”,即sys加载后,setdefaultencoding方法被删除了,所以要重新导入sys重新设置系统编码########### sys.setdefaultencoding('utf-8')# 字符编码改为utf8

这两个作用不一样,

1. # coding:utf-8作用是定义源代码的编码. 如果没有定义, 此源码中是不可以包含中文字符串的.PEP 0263 -- Defining Python Source Code Encodingshttps://www.python.org/dev/peps/pep-0263/2. sys.getdefaultencoding()是设置默认的string的编码格式headPath=r"C:\\github\\PythonExercise\\pictures\\"     ## 字符串前加“r”是为了防止字符转义    # 头像图片路径outputPath=r"C:\\github\\PythonExercise\\pictures\\"  # 处理后输出路径fontPath=r"C:\\Windows\\Fonts\\" # 字体路径headFile="head.jpg"           # 头像文件outFile="output.jpg"          # 输出文件# 打开图片,建立画布image=Image.open(headPath+headFile, 'r')draw=ImageDraw.Draw(image)# 由图片大小确定字体大小fontsize=min(image.size)/ 4# 增加文字   ## ImageFont.truetype(filename(字体绝对目录),size(字体大小),index=0,encoding='',下述代码有误)fontobj=ImageFont.truetype(font=fontPath+"AdobeHeitiStd-Regular.otf",size=fontsize,index=0 ,encoding='',filename= None)# 实例字体对象draw.text((image.size[0 ]-fontsize,0),text= "5",fill=(255 ,0, 0),font=fontobj,anchor=None )# 用draw对象的text() 方法添加文字   ## ImageDraw.text(xy,text="内容",fill,font,anchor=None(XY坐标,以左上角为零点,fill为填充的颜色,font为包含字体地址,大小,编码方式等的变量,上述代码xy坐标有误))image.save(outputPath+outFile)# 保存图片

使用PIL库要先安装,后出现问题The _imaging C module is not installed,后再安装一个额外的安装包,成功解决

关键字:Python


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部