首页 > 代码库 > Pillow学习笔记一——入门

Pillow学习笔记一——入门

常用操作:
Image.open()     Image.close()     Image.show()     Image.save(filename)   #打开、关闭、显示、保存图像文件
 
Img.crop(box)     img.paste(region,box)     img.resize(tuple)     img.rotate(45)  #复制、粘贴、调整大小、旋转图像
 #更为丰富的旋转图像命令,可以实现水平、垂直图像翻转
img.transpose(Image.ROTATE_180)   
img.transpose(Image.FLIP_LEFT_RIGHT)
img.transpose(Image.FLIP_TOP_BOTTOM)
 
r,g,b = img.split()  #多波段的分离
 
img = Image.merge("RBG",(r,g,b)))  #多波段的组合
 
source = Image.merge()  #假设该图像有三个通道,则source亦为三维
source[0] source[1] source[2]
 
img.point(lambda i:i*1.2)  #进行点运算,括号内lambda表达式
 
Image.blend(img1,img2,alpha) 公式:out=img1*(1-alpha)+img2*alpha  #用于对图像的叠合
 
 
 问题:
?问题一:png格式的图像文件用im.split()分离只有一个波段,JPG格式则无此问题

转载:加小红点的方法 

#! coding=utf-8
from PIL import Image
from PIL import ImageDraw
from PIL import ImageFont
path="E:\\study\\test.png"   #文件存储的路径
path2="E:\\study\\test2.png"
Font3 = ImageFont.truetype("C:\Windows\Fonts\simsunb.ttf",20)   #定义字体
text="3"
img=Image.open(path)
box1=(55,0,75,20)
drawObject=ImageDraw.Draw(img)   #注意ImageDraw.Draw的用法
drawObject.ellipse(box1,fill="red")  #画个椭圆
drawObject.text([60,2],text,fill="white",font=Font3)  #写入文字
img.save(path2)

Pillow学习笔记一——入门