<h4></h4>
讯享网
前言:这篇文章仅是我学习pilllow后的总结,如果有错望各位大佬指出。
pillow(有时也称 PIL 库) 是 Python 图像处理的基础库,它是一个免费开源的第三方库,由一群 Python 社区志愿者使用 Python 语言开发而成,如果要使用需要下载。
2.1IDLE安装pillow
按下win+r打开运行窗口,在窗口输入cmd然后按下回车后就打开cmd(命令提示符)了
在cmd中输入
讯享网
如果安装不成功可以输入以下代码查看pip版本
pip版本较低的话可以先输入下面的代码升级版本
讯享网
pip是Python的包管理工具,全称是“pip installs packages”,意为“安装包”。通过pip,用户可以方便地安装、卸载和管理Python的第三方库。
待安装完成后在cmd中输入pip list来查看是否安装成功
如果输出结果有pillow说明安装成功
2.2pycharm安装pillow

在pycharm的中端下输入
讯享网
Image类中图片的读取和创建方法有五个分别如下:
描述:根据参数加载图片
参数解析:
filename是图片的路径,可以是绝对路径,也可以是相对路径(当图片文件存放在和程序文件相同的目录下时使用相对路径更简洁)mode是打开文件的方式,一般默认为仅读取
Image.new(mode,size,color)描述:根据给定参数创建一个新的图像
参数解析:
mode即模式这里用于指定图片的颜色模式,如RGB、RGBA等。
size用于给定图片的像素大小,以元组(长,高)给出如(100,100)。
color给定图片的背景颜色,其默认值是黑色(0),特别情况:当设置图片的 mode 为 ‘RGBA’ 时,如果不填 color 参数的话,图片是 透明底。
Image.open(stringIO.stringIO(buffer))描述:从字符串数据流中获取图像

参数解析:stringIO.stringIO(buffer)是字符串数据流
Image.frombytes(mode,size,data)描述:根据像素点data创建图像
参数data是二进制数据
Image.verify()描述:对图像完整性进行检查,返回异常Image.open(fp,mode="r")
Image.open(fp,mode="r")得到的图像数据类型是Image对象
使用程序文件编写代码时的相对路径
使用程序文件编写代码时解析器是在保存程序文件的目录下开始按给定的相对路径开始搜寻图像文件,比如程序文件在Project目录下,给定的相对路径是“和泉雾纱.jpg”那么解析器搜寻顺序为
Project->和泉雾纱.jpg
再比如给定相对路径为"Image和泉雾纱,jpg"那么解析器搜寻顺序为
Project->Image->和泉雾纱.jpg
当要使用相对路径时要确保解析器在程序文件所在同目录(文件夹)下能按相对路径找到对应文件。


当按相对路径找不到该文件就会报错


有时图片过多的时可以在程序文件的目录下创建一个文件夹保存,此时相对路径变为“Image和泉雾纱.jpg”
使用IDLE编写代码时的图像相对路径
在IDLE上直敲代码时是在IDLE所在目录(IDEL在下载python的文件夹下,名字为pythonw.exe)下开始按给定相对路径搜寻图像文件
使用绝对路径不会受以上两种情况的影响
Image.new(mode,size,color)
Image.new(mode,size,color)用于创建新的图像
讯享网
上面是通过Image.new()方法创建了一个长为600宽为600的红色图像
verify函数没有返回值。如果图像文件完整且无损坏,函数执行时不会抛出异常。如果图像文件损坏或不完整,会抛出 或 异常。
利用seek和tell获取GIF图片的所有帧
Image.save(fp,format)
用save把webp格式转化为jpg格式并保存
讯享网
Image.convert(mode)

将图像转换为灰度图
Image.thumbnail(size)
缩略图内容上与原图一样,只是经过压缩了
讯享网
Image.split()
提取图像的像素通道
Image.merge(mode,bands)
合并通道返回图像副本,要注意的是图像色彩模式要与通道匹配,不能CMYK的模式用RGB的通道
讯享网
Image.point(func)
用point函数对图像的通道进行运算
Image.blend(im1,im2,alpha)
可以将 im1 和 im2 这两幅图片(尺寸相同)以一定的透明度 进行混合。alpha 指混合透明度,取值是 0-1。当混合透明度为 0 时,显示 im1 原图。当混合透明度 alpha 取值为 1 时,显im2原图片。
使用ImageDraw类中的方法可以实现对图像的简单绘制
ImageDraw.Draw(im1)
使用该函数可以为图像im1创建一个画布
讯享网
用于在指定的position(以元组给出xy)添加文本(string),fill是颜色,font必须是ImageFont设置的类型,就是必须是ImageFont类的数据类型
ImageDraw.arc(xy,start,end,fill=None,width=0)用于绘制圆弧,xy是给出绘制圆弧的区域,start和end分别是开始的角度和结束的角度单位是度,fill是填充线颜色,width是线条宽度单位是像素ImageDraw.pieslice(xy,start,end,fill=None,outline,width=0)
与绘制圆弧差不多,差别在于圆弧内的空白区域会填充,outline是轮廓线条颜色
ImageDraw.chord(xy,start,end,fill=None,outline=None,width=0)
在pieslice的结果上把首尾点相连ImageDraw.ellipse(xy,fill=None,outline=None,width=0)
用于绘制椭圆ImageDraw.line(xy,fill=None,width=0,joint=None)
用于在xy之间绘制线段,joint是线之间的联合类型ImageDraw.point(xy,fill=None)
用于对坐标点填充颜色,xy是所有要上色的坐标点组成的列表ImageDraw.rectangle(xy,fill=None,outline=None,width=0)
用于绘制矩形ImageDraw.text(xy,string,fill,font)
为图像添加文本
ImageFont.truetype(font,size)
参数font是Windows文件夹下字体的名字,size是字号

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/161910.html