PIL
import Image(最好在交换模式下,在编译模式下很容易模块崩塌,出现反常)
>>>ima = Image.open(‘03.jpg’)
ima.size # 图像大小
ima.mode # 图像模式
ima.format # 图像格式
ima.info # 图像信息
ima.version # 版本
>>>imb = ima.resize((200,200))改变图像大小
>>>imb = ima.rotate(-45)旋转
>>>region = ima.crop((100,100,200,200)) # 裁剪
>>>region.show()
>>>imb = region.copy() #拷贝
>>>imP = Image.open("01.jpg")
>>>imP.paste(region, (100,100,200,200)) # 粘贴
>>>r, g, b = ima.split()
>>> r.show()
>>> b.show()
>>> c.show()
>>>ima.thumbnail((200,200))
thumbnail创建图像的缩略图,不同于resize, 它在原图像上操作
ima.show()
ima.save(‘04.png’)格式的转换
Image.new(mode, size)
Image.new(mode, size, color)
说明:
mode包含了”RGB”等颜色属性
color包含了”red”等颜色属性
层叠两个图片,img1和img2,alpha是一个介于[0,1]的浮点数,如果为0,效果为img1,如果为1.0,效果为img2。当然img1和img2的尺寸和模式必须相同。这个函数可以做出很漂亮的效果来,而图形的算术加减后边会说到。
Image.blend(img1, img2, alpha)
图形图像的自定义处理
对于图像的处理,首先要把其加载为系统数据,通过load()方法:
>>> pima = ima.load()
其次就可以直接通过索引访问了:
>>> (x, y) = ima.size
>>> for i in range(x):
>>> for j in range(y):
>>> Print pima[(x,y)]
给图的中间位置画红线
(x, y) = ima.size
>>> for i in range(x):
>>> for j in range(y):
>>> pima[(x/2,y)] = (255,0,0)
>>> Ima.show()