from PIL import Image
im = Image.open('1.png') #通过open的方式打开一个图片文件
im.show() # 使用图片查看器查看图片
im.format #定义了图像的格式
im.size #size属性是一个tuple, 表示图像的宽和高
im.mode #属性为图像的模式, 常用的模式L为灰度图, RGB为真彩色, CMYK为pre-press图像
convert() 是图像实例对象的一个方法,接受一个 mode 参数,用以指定一种色彩模式,mode 的取值可以是如下几种:
· 1 (1-bit pixels, black and white, stored with one pixel per byte)
· L (8-bit pixels, black and white)
· P (8-bit pixels, mapped to any other mode using a colour palette)
· RGB (3x8-bit pixels, true colour)
· RGBA (4x8-bit pixels, true colour with transparency mask)
· CMYK (4x8-bit pixels, colour separation)
· YCbCr (3x8-bit pixels, colour video format)
· I (32-bit signed integer pixels)
· F (32-bit floating point pixels)
def img2jpg(imgFile):
if type(imgFile)==str and imgFile.endswith(('.bmp', '.gif', '.png')):
with Image.open(imgFile) as im:
im.convert('RGB').save(imgFile[:-3]+'jpg')
屏幕截图
from PIL import ImageGrab
im = ImageGrab.grab((0,0,800,200)) # 截取屏幕指定区域的图像
im = ImageGrab.grab() #不带参数表示全屏幕截图
图像裁剪和黏贴
box = (120, 194, 220, 294) #定义裁剪区域
region = im.crop(box) #裁剪
region = region.transpose(Image.ROTATE_180)
im.paste(region,box) #粘贴