某企业网站搜索引擎优化,坪山商城网站建设哪家效益快,上海建设工程咨询公司,软件工程就业岗位目录
1 导入PIL模块#xff08;pillow#xff09;
1.1 导入PIL模块
1.1.1 可用的导入形式
1.1.2 常用的导入形式
1.1.3 PIL下面的常用子模块
2 用 PIL读入#xff0c;生成和显示图片
2.1 用 PIL.Image.open() 可以读入图片
2.2 用PIL.Image.new() 生成新图片
2.3 …目录
1 导入PIL模块pillow
1.1 导入PIL模块
1.1.1 可用的导入形式
1.1.2 常用的导入形式
1.1.3 PIL下面的常用子模块
2 用 PIL读入生成和显示图片
2.1 用 PIL.Image.open() 可以读入图片
2.2 用PIL.Image.new() 生成新图片
2.3 PIL中图片的格式
2.4 pic.show() 显示图片
2.5 上述内容的测试代码
3 PIL相关的图片的属性
3.1 PIL的坐标轴
3.2 颜色模式
3.3 PIL中关于图片的各种信息
3.3.1 除了前面查看的图片的类型 type()
3.3.2 PIL的图片的信息
4 PIL相关的方法
4.1 copy
4.2 裁剪 image.crop()
4.3 旋转 rotate()方法
4.4 利用 transpose()
4.5 image.resize()
4.6 Pillow库的**thumbnail()**方法可以生成图像的缩略图
4.7 添加水印。Pillow库提供了丰富的绘图功能
5 画图 PIL.ImageDraw
5.1 画图 PIL.ImageDraw.Draw(im)
6 保存图片 1 导入PIL模块pillow
1.0 PIL的全称Python Imaging Library
PIL的全称Python Imaging Library所以你可以理解确实模块名不叫pillow而叫PIL了但是在python中查找是否安装了pillow却可以用pillow如输入 pip show pillow import PIL #而不是 import pillow pip show pillow # 而不是 pip show PIL 1.1 导入PIL模块
1.1.1 可用的导入形式
import PIL import PIL #注意包名并不是 pillow 或Pillow,包名而不是as的别名模块名就是PIL# 错误的 import pillow # 错误的 import Pillow 1.1.2 常用的导入形式
from PIL import Imagefrom PIL import ImageDraw# 注意大小写 1.1.3 PIL下面的常用子模块
Pillow库最常用的两个模块是Image和ImageDraw此外这个库还提供了像ImageFont、ImageFile、ImageFilter、ImageGrab、ImageTk、ImageQt等模块这些模块扩展了图像库的一些额外功能。
Image模块主要封装了对图像的一些基本操作比如裁剪、复制、粘贴、旋转等这样一些操作。ImageDraw主要封装了在图像上绘制一些形状、文本的功能。 2 用 PIL读入生成和显示图片
2.1 用 PIL.Image.open() 可以读入图片
用 PIL.Image.open() 可以读入图片PIL.Image.open(path)path是图片的路径绝对/同目录下的相对路径注意大小写 Image.open() 不是 image.open() path1rC:\Users\Administrator\Desktop\tp2.jpg pic1PIL.Image.open(path1) 2.2 用PIL.Image.new() 生成新图片 pic2PIL.Image.new(size(100,100),modeRGB,color(255,255,0)) 参数 size(100,100)modeRGB #注意大小写,如果写成modergb会报错color(255,255,0) 2.3 PIL中图片的格式
读入的图片就是图片本身的格式jpg 在PIL里对应的类型PIL.JpegImagePlugin.JpegImageFile
class PIL.JpegImagePlugin.JpegImageFile PIL新生成的图片的格式默认是PIL.Image.Image
class PIL.Image.Image 2.4 pic.show() 显示图片
pic.show()其中pic 指代已经在PIL中打开的文件而打开的方式不是显示在python的IDE中而是在操作系统如windows中打开图片 pic1PIL.Image.open(path1) pic2PIL.Image.new(size(100,100),modeRGB,color(255,255,0)) pic1.show() pic2.show() 2.5 上述内容的测试代码
import PIL #注意包名并不是 pillow 或Pillow,包名而不是as的别名就是PILpath1rC:\Users\Administrator\Desktop\tp2.jpg
pic1PIL.Image.open(path1)
pic2PIL.Image.new(size(100,100),modeRGB,color(255,255,0)) #注意大小写modergb报错print(type(path1))
print(type(pic1))
print(type(pic2))pic1.show()
pic2.show() 3 PIL相关的图片的属性
3.1 PIL的坐标轴
pillow的坐标轴是以 top为X轴left为Y轴的坐标系。也就是看起来像“第4象限”很多表格和作图软件都采用这种坐标系比如EXCEL表本质也是这样的坐标系。一般使用该区域顶点坐标左、顶和范围坐标右、底表示一块矩形区域。 如前面的代码生成的图片的左上角右下角的点坐标可以由着size()决定
size(100,100)pos left top(0,0)pos righ bottom (0,0)
import PILpic2PIL.Image.new(size(100,100),modeRGB,color(255,255,0)) #注意大小写modergb报错
print(type(pic2))
pic2.show() 3.2 颜色模式
pic2PIL.Image.new(size(100,100),modeRGB,color(255,255,0))
PIL支持的图片的颜色mode有很多种
RGBred,green,blue 三色混合RGBAA是alpha通道透明度YCB 彩色电视机格式CMYK模式 CMYK模式 CCyan 青色又称为‘天蓝色’或是‘湛蓝’MMagenta 品红色又称为‘洋红色’YYellow 黄色KblacK黑色 3.3 PIL中关于图片的各种信息
3.3.1 除了前面查看的图片的类型 type()
print(type(pic1))
读入的图片就是图片本身的格式class PIL.JpegImagePlugin.JpegImageFilePIL新生成的图片的格式默认是PIL.Image.Imageclass PIL.Image.Image 3.3.2 PIL的图片的信息 查看image 属性的一些通用python方法 type(image) image/picture 本身的各种属性 字典信息: image.info宽度(px): image.width高度(px): image.height尺寸(px): image.size颜色模式: image.mode格式(扩展名): image.format只读(1为只读):image.readonly from PIL import Image
path1rC:\Users\snow\Desktop\pic1.jpg
pic1 Image.open(path1)
pic1.show()print(pic图片数据类型,type(pic1))
print(字典信息: , pic1.info)
print(宽度(px): , pic1.width)
print(高度(px): , pic1.height)
print(尺寸px: , pic1.size)
print(颜色模式: , pic1.mode)
print(格式扩展名: , pic1.format)
print(只读1为只读: , pic1.readonly) pic图片数据类型 class PIL.JpegImagePlugin.JpegImageFile
字典信息: {jfif: 257, jfif_version: (1, 1), dpi: (120, 120), jfif_unit: 1, jfif_density: (120, 120)}
宽度(px): 64
高度(px): 64
尺寸px: (64, 64)
颜色模式: RGB
格式扩展名: JPEG
只读1为只读: 0 4 PIL相关的方法
4.1 复制img_obj.copy()
img_obj.copy()复制图片避免直接修改原图在copy上做修改 4.2 裁剪 img_obj.crop()
img_crop image.crop(box(左上角点的X, 左上角点的Y, widthheight))box(左上角点的X, 左上角点的Y, widthheight)
import PILpic2PIL.Image.new(size(100,100),modeRGB,color(255,255,0)) #注意大小写modergb报错
pic3pic2.copy()
pic4pic3.crop(box(0,0,50,50))
pic4.show() 4.3 粘贴图片 img_obj.paste(
img_obj.paste(img_obj_other, (posx, posy))被粘贴的目标图片(小图片,(小图片在坐标系内的左上角X左上角Y)) 只能粘贴在目标图片的范围之内 4.3 旋转 rotate()方法 4.4 利用 transpose() 4.5 image.resize() 4.6 Pillow库的**thumbnail()**方法可以生成图像的缩略图 4.7 添加水印。Pillow库提供了丰富的绘图功能 5 画图 PIL.ImageDraw 5.1 画图 PIL.ImageDraw.Draw(im)
im Image.new(RGBA, (200, 200), white)
# 创建一个画图实例
draw ImageDraw.Draw(im) 6 保存图片 7