qpython pillow_Python Pillow 模块

安装Pillow 模块

pip install pillow

Image 模块

PIL最重要的类是 Image class, 你可以通过多种方法创建这个类的实例;你可以从文件加载图像,或者处理其他图像, 或者从 scratch 创建。

Image 类属性

mode :图片模式

size:图片大小

width:图片长度

height:图片宽度

创建 1个张图片

Image.new(mode,size,color)

mode: 颜色模式

size:(长,宽) 图片大小

color:背景颜色

from PIL import Image #导入Image 类

img = Image.new('RGB',(120,30),'yellow')

img.show() #显示图片

将图片信息保存到本地

img.save(位置,后缀)

from PIL import Image

img = Image.new(mode='RGB',size=(120,30),color='yellow')

f = open('xxx.png','wb')

img.save(f,'png') #将图片保存到某一位置,图片名称为xxx

f.close()

注意:文件名相同会被覆盖,所以永远只会生成1张图片

将图片信息保存在内存 BytesIO

from io import BytesIO # 导入模块

stream = BytesIO() # 创建1个IO对象

img.save(stream,'PNG') # 把图片保存到内存

return HttpResponse(stream.getvalue()) # getvalue() 获取图片信息

ImageDraw 模块

imagedraw模块提供的图像对象的简单的二维图形。你可以使用这个模块来创建新的图像,注释或修整现有的图像

from PIL import Image, ImageDraw

im = Image.open("lena.pgm")

draw = ImageDraw.Draw(im) #创建画笔

draw.line((0, 0) + im.size, fill=128) #画线 填充颜色

draw.line((0, im.size[1], im.size[0], 0), fill=128) #画第二根线

del draw

# write to stdout

im.save(sys.stdout, "PNG")

PIL.ImageDraw.Draw.line(xy, fill=None, width=0)

在XY列表中的坐标之间画一条直线。

参数:

XY:或二元像[序列(x,y),(x,y),…]值或数值,像[ x,y,x,y,…]。

填充颜色用于线条。

width:宽度–

线宽,以像素为单位。注意线连接处理的不好,所以宽折线看不好。

PIL.ImageDraw.Draw.point(xy, fill=None)

在给定坐标下绘制点(单个像素)。 注意只是1个像素画点

参数:

XY:或二元像[序列(x,y),(x,y),…]值或数值,像[ x,y,x,y,…]。

fill:填充-颜色用于点

给所有像素画点:

for x in range(width): # 遍历X轴

for y in range(height): # 遍历Y轴

draw.point((x,y),fill=128) # 给每个坐标画点

PIL.ImageDraw.Draw.text(xy, text, fill=None, font=None, anchor=None, spacing=0, align="left")

在给定位置绘制字符串。

参数:

xy:左上角的文字。

text:文本内容-要绘制的文本。如果它包含任何换行字符,文本传递给multiline_text()

fill:填充文本使用的颜色。

用法:fill =128 , fill =(255,255,255) , fill(128,128,128,128) 第4个参数为透明度-rgb模式

font:字体–一imagefont实例。

spacing:间距如果文本传递给multiline_text(),像素之间的行数。

align:对齐方式–如果文本传递给multiline_text(),“左”、“中心”或“正确的”。

ImageFont 模块 图片字体

PIL.ImageFont.getsize('文字')

获取写入图片字体的文字大小 ,返回长和款

PIL.ImageFont.load(filename)

加载字体文件。这个函数从给定的位图字体文件加载一个字体对象,并返回相应的字体对象。

PIL.ImageFont.load_path(filename)

加载字体文件。和.load()一样,但搜索在Python路径位图字体。

PIL.ImageFont.truetype(font=None, size=10, index=0, encoding='')

加载一个TrueType或OpenType字体文件,并创建一个字体对象。此函数从给定的文件加载字体对象,并为给定大小的字体创建字体对象。

参数:

font:字体–TrueType字体文件。在Windows之下,如果文件在这个文件名中找不到,加载程序也会在Windows字体/目录中查找。

size:字体大小

index:索引——哪个字体要加载(默认是第一个可用的面)。

encoding:编码——使用哪种字体编码(默认是unicode)。常见的编码是“新闻中心”(Unicode),“符号”(微软的标志),“Adob”(Adobe),“项”(Adobe专家),和“Click”(Apple Roman)

https://pillow.readthedocs.io/en/4.1.x/reference/ImageFont.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值