PIL(Python Image Library)是python的第三方图像处理库,但是由于其强大的功能与众多的使用人数,几乎已经被认为是python官方图像处理库了。
创新互联是一家网站建设、成都网站设计,提供网页设计,网站设计,网站制作,建网站,定制网站,网站开发公司,成立于2013年是互联行业建设者,服务者。以提升客户品牌价值为核心业务,全程参与项目的网站策划设计制作,前端开发,后台程序制作以及后期项目运营并提出专业建议和思路。其官方主页为:PIL。 PIL历史悠久,原来是只支持python2.x的版本的,后来出现了移植到python3的库pillow,pillow号称是friendly fork for PIL,其功能和PIL差不多,但是支持python3。
PIL(Python Imaging Library)是Python一个强大方便的图像处理库,只支持到Python2.7。
Pillow是PIL的一个派生分支,在Python3标准库中用Pillow代替PIL。
Pillow官网:https://pillow.readthedocs.io/en/latest/handbook/index.html
下面是使用例子,用法可见代码注释。
from PIL import Image,ImageFilter,ImageGrab,ImageDraw,ImageFont # 创建图片:宽800*高600,红色 imNew = Image.new('RGB',(800,600),(255,0,0)) # 显示图片 #imNew.show() # 抓取屏幕 imGrab = ImageGrab.grab() imGrab.save('grab.jpg', 'jpeg') # 打开图片 im = Image.open('1.jpg') # 复制图片 im1 = im.copy() im2 = im.copy() im3 = im.copy() im4 = im.copy() im5 = im.copy() im6 = im.copy() im7 = im.copy() # 获得图片宽高: w, h = im.size print('图片宽高:{} * {}'.format(w, h)) # 缩略图(图片不会被拉伸,只能缩小) im.thumbnail((w//2, h//2)) im.save('1_thumbnail.jpg', 'jpeg') # 缩放(图片可能会被拉伸,可缩小也可放大) im1 = im1.resize((w//2, h//2)) im1.save('1_resize.jpg', 'jpeg') # 模糊图片 im2 = im2.filter(ImageFilter.BLUR) im2.save('1_blur.jpg', 'jpeg') # 旋转图片,逆时钟旋转45度 im3 = im3.rotate(45) im3.save('1_rotate.jpg', 'jpeg') # 图片转换:左右转换 FLIP_LEFT_RIGHT,上下转换 FLIP_TOP_BOTTOM im4 = im4.transpose(Image.FLIP_LEFT_RIGHT) im4.save('1_transpose.jpg', 'jpeg') # 图片裁剪 box = (200,200,400,400) #左上角(0,0),4元组表示坐标位置:左、上、右、下 im5 = im5.crop(box) im5.save('1_crop.jpg', 'jpeg') # 图片上添加文字 draw = ImageDraw.Draw(im6) #truetype设置字体、文字大小 #stxingka.ttf华文行楷 simkai.ttf 楷体 simli.ttf 隶书 font = ImageFont.truetype("C:\\WINDOWS\\Fonts\\stxingka.ttf", 20) draw.text((100,100), ('hello word \n你好,世界'), fill='#0000ff', font=font) im6.save('1_drawText.jpg', 'jpeg') # 图片上添加图片(粘贴图片) imTmp = Image.new('RGB',(30,30),'blue') im7.paste(imTmp, (50,50)) #第2个参数为坐标 im7.save('1_paste.jpg','jpeg') # 图片横向拼接:拼接上面im6、im7(两张图片大小一样) im6Width, im6Height = im6.size imHorizontal = Image.new('RGB', (im6Width * 2, im6Height)) imHorizontal.paste(im6, (0,0)) imHorizontal.paste(im7, (im6Width,0)) imHorizontal.save('1_horizontal.jpg', 'jpeg') # 图片竖向拼接:拼接上面im6、im7 imVertical = Image.new('RGB', (im6Width, im6Height*2)) imVertical.paste(im6, (0,0)) imVertical.paste(im7, (0,im6Height)) imVertical.save('1_vertical.jpg', 'jpeg')
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。