20170511 Python练习册0000 将头像右上角加上红色的数字
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了20170511 Python练习册0000 将头像右上角加上红色的数字,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4183字,纯文字阅读大概需要6分钟。
内容图文
现在开始每天做一个Python小练习,第一个练习
#!/usr/bin/env python
#-*- coding:utf8 -*-
from PIL import Image, ImageDraw, ImageFont
def add_num(img):
draw = ImageDraw.Draw(img)#创建一个可用来对img进行操作的对象,即创建绘画对象
myfont = ImageFont.truetype(‘C:/windows/fonts/Arial.ttf‘, size=40)#加载一个TrueType的字体文件,并且创建一个字体对象
fillcolor = "#ff0000" #填充颜色>>>红色
width, height = img.size #获取图片的长和宽
draw.text((width-40, 0),‘99‘, font=myfont, fill=fillcolor)
#drawObject.text(position,string,options)在图像内添加文字
#Position是一个二元元组,指定字符串左上角坐标,string是要写入的字符串
#options选项可以为fill或者font(只能选择其中之一作为第三参量,不能两个同同时存在,其中fill指定字的颜色,
# font指定字体与字的尺寸,font必须为ImageFont中指定的font类型,具体用法见ImageFont.Truetype()
img.save(‘result.jpg‘,‘jpeg‘)#保存图片,并改变格式
return 0
if __name__ == ‘__main__‘:
image = Image.open(‘D:\image.jpg‘)#打开文件
add_num(image)#调用函数
需要用到的知识有:转载自:http://www.cnblogs.com/denny402/p/5096001.html
一、图片的打开与显示
from PIL import Image img=Image.open(‘d:/dog.png‘) img.show()
虽然使用的是Pillow,但它是由PIL fork而来,因此还是要从PIL中进行import. 使用open()函数来打开图片,使用show()函数来显示图片。
这种图片显示方式是调用操作系统自带的图片浏览器来打开图片,有些时候这种方式不太方便,因此我们也可以使用另上一种方式,让程序来绘制图片。
from PIL import Image import matplotlib.pyplot as plt img=Image.open(‘d:/dog.png‘) plt.figure("dog") plt.imshow(img) plt.show()
这种方法虽然复杂了些,但推荐使用这种方法,它使用一个matplotlib的库来绘制图片进行显示。
figure默认是带axis的,如果没有需要,我们可以关掉
plt.axis(‘off‘)
打开图片后,可以使用一些属性来查看图片信息,如
print img.size #图片的尺寸 print img.mode #图片的模式 print img.format #图片的格式
显示结果为:
(558, 450) RGBA PNG
二、图片的保存
img.save(‘d:/dog.jpg‘)
就一行代码,非常简单。这行代码不仅能保存图片,还是转换格式,如本例中,就由原来的png图片保存为了jpg图片。
转载自:http://www.2cto.com/kf/201603/491448.html
一、ImageFont模块的函数
1、 Load
定义:ImageFont.load(file)? Font instance
含义:从指定的文件中加载一种字体,该函数返回对应的字体对象。如果该函数失败,将产生IOError异常。
2、 Load_path
定义:ImageFont.load_path(file)? Font instance
含义:和函数load()一样,但是如果没有指定当前路径的话,会从sys.path开始查找指定的字体文件。
3、 Truetype
定义1:ImageFont.truetype(file,size) ? Font instance
含义1:加载一个TrueType或者OpenType字体文件,并且创建一个字体对象。这个函数从指定的文件加载了一个字体对象,并且为指定大小的字体创建了字体对象。
在windows系统中,如果指定的文件不存在,加载器会顺便看看windows的字体目录下是否存在。
这个函数需要_imagingft服务。
定义2:ImageFont.truetype(file,size, encoding=value) ? Font instance
含义2:(New in 1.1.5)加载一个TrueType或者OpenType字体文件,并且使用指定的编码方式创建一个字体对象。通常的编码方式有“unic”(Unicode),“symb”(Microsoft Symbol),“ADOB”(Adobe Standard),“ADBE”(Adobe Expert)和“armn”(Apple Roman)。
下面的例子使用MicrosoftSymbol字体,即变量encoding为“symb”,在oxF000和0xF0FF之间绘制一个字符。
1
2
|
font = ImageFont.truetype(
"symbol.ttf"
,
16
, encoding=
"symb"
)
draw.text((
0
,
0
), unichr(
0xF000
+
0xAA
))
|
4、 Load_default
定义:ImageFont.load_default()? Font instance
含义:(New in 1.1.4)加载一个默认的字体。
二、ImageFont模块的方法
Font对象必须实现下面的方法,供ImageDraw层使用。
1、 Getsize
定义:font.getsize(text)? (width, height)
含义:返回给定文本的宽度和高度,返回值为2元组。
2、 Getmask
定义:font.getmask(text,mode=”“) ? Image object
含义:为给定的文本返回一个位图。这个位图是PIL内部存储内存的实例(为Image.core接口模块定义)。
如果字体使用了抗锯齿,位图的模式为“L”,且其最大值为255。否则,它的模式为“1”。
(New in 1.1.5)可选参数mode用于一些显卡驱动指定自己喜欢的模式;如果为空,渲染器可能会返回任意模式。注意:该模式总是一个字符串。
三、ImageFont模块的实例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
>>> from PIL
import
Image, ImageDraw, ImageFont
>>> im02 = Image.open(
"D:\\Code\\Python\\test\\img\\test02.jpg"
)
>>> draw = ImageDraw.Draw(im02)
>>> ft = ImageFont.truetype(
"C:\\WINDOWS\\Fonts\\SIMYOU.TTF"
,
20
)
>>> draw.text((
30
,
30
), u
"Python图像处理库PIL从入门到精通"
,font = ft, fill =
‘red‘
)
>>> ft = ImageFont.truetype(
"C:\\WINDOWS\\Fonts\\SIMYOU.TTF"
,
40
)
>>> draw.text((
30
,
100
), u
"Python图像处理库PIL从入门到精通"
,font = ft, fill =
‘green‘
)
>>> ft = ImageFont.truetype(
"C:\\WINDOWS\\Fonts\\SIMYOU.TTF"
,
60
)
>>> draw.text((
30
,
200
), u
"Python图像处理库PIL从入门到精通"
,font = ft, fill =
‘blue‘
)
>>> ft = ImageFont.truetype(
"C:\\WINDOWS\\Fonts\\SIMLI.TTF"
,
40
)
>>> draw.text((
30
,
300
), u
"Python图像处理库PIL从入门到精通"
,font = ft, fill =
‘red‘
)
>>> ft = ImageFont.truetype(
"C:\\WINDOWS\\Fonts\\STXINGKA.TTF"
,
40
)
>>> draw.text((
30
,
400
), u
"Python图像处理库PIL从入门到精通"
,font = ft, fill =
‘yellow‘
)
>>> im02.show()
|
在windows系统下,字体文件位于C:\Windows\Fonts文件夹下。本实例中用到的SIMYOU.TTF为幼圆字体文件,SIMLI.TTF为隶书字体文件,STXINGKA.TTF为行楷字体文件。用户可以根据自己的需要,从Fonts文件夹下选择所需字体文件。
字体的大小,可以根据定义字体时的第二个参数来设定。
本实例中图像im02如下图所示:
原文:http://www.cnblogs.com/Jiang190/p/6843125.html
内容总结
以上是互联网集市为您收集整理的20170511 Python练习册0000 将头像右上角加上红色的数字全部内容,希望文章能够帮你解决20170511 Python练习册0000 将头像右上角加上红色的数字所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。