Pillow中文文档:https://pillow-cn.readthedocs.io/zh_CN/latest/handbook/tutorial.html
安装:pip install pillow
操作图像:
#!/usr/bin/env python3 # _*_ coding utf-8 _*_ __author__ = 'nxz' from PIL import Image, ImageFilter from time import sleep # 打开一个jpg图像文件 im = Image.open('test.jpg') w, h = im.size # print('图片的宽:%s,和高:%s' % (w, h)) # 图片缩放 im.thumbnail((w // 2, h // 2)) w, h = im.size print(w, h) # 缩放之后的图片重新保存 im.save('thumbnail.jpg', 'jpeg') # 其他功能:切片、旋转、滤镜、输出文字、调色板 # 模糊效果 im2 = im.filter(ImageFilter.BLUR) im2.save('blur.jpg','jpeg')
截屏:
from PIL import ImageGrab from time import sleep m = int(input("请输入想截屏多少次:")) n = 1 while n <= m: sleep(0.02) im = ImageGrab.grab() local = (r'%s.jpg' % (n)) im.save(local, 'jpeg') n = n + 1
转换文件到JPEG:
''' 将指定路径下的图片后缀改为 “.jpg” 格式 ''' from PIL import Image import os, sys for infile in sys.argv[1:]: f, e = os.path.splitext(infile) outfile = f + '.jpg' if infile != outfile: try: Image.open(infile).save(outfile) except Exception as exc: print(exc)
GIF动图:
""" GIf动图 """ from PIL import Image im = Image.open('test.jpg') images = [] images.append(Image.open('blur.png')) images.append(Image.open('test.jpg')) im.save('gif.gif', save_all=True, append_image=images, loop=1, duration=1, comment=b'aaaabbb')
几何变换:
#简单的集合变换 out = im.resize((128, 128)) #旋转图像 out = im.transpose(Image.FLIP_LEFT_RIGHT) #翻转 out = im.transpose(Image.FLIP_TOP_BOTTOM) out = im.transpose(Image.ROTATE_90) out = im.transpose(Image.ROTATE_180) #旋转180° out = im.transpose(Image.ROTATE_270) #旋转270°