https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014320027235877860c87af5544f25a8deeb55141d60c5000 廖雪峰
由于PIL仅支持到Python 2.7,加上年久失修,于是一群志愿者在PIL的基础上创建了兼容的版本,名字叫Pillow,支持最新Python 3.x,又加入了许多新特性,因此,我们可以直接安装使用Pillow。
pip install pillow
图片操作
#把图片缩小到二分之一 from PIL import Image, ImageFilter im = Image.open('1.jpg') w, h = im.size print('原图片尺寸: %sx%s' % (w, h)) # 缩放到50%: im.thumbnail((w//2, h//2)) # 把缩放后的图像用jpeg格式保存: im.save('2.jpg', 'jpeg') #要详细了解PIL的强大功能,请请参考Pillow官方文档: https://pillow.readthedocs.org/
图片操作2: 在已有图片上生成1个汉字,和6位数字。颜色随机 2017-10-20
http://pillow.readthedocs.io/en/latest/ PIL库 Pillow — Pillow (PIL Fork) 4.4.0.dev0 documentation
# -*- coding: utf-8 -*- # coding=utf-8 from PIL import Image, ImageFont, ImageDraw import random str1 = '赵钱孙李周吴郑王冯陈褚卫蒋沈韩杨' #通过随机数,取一个汉字 str1Length = len(str1) idx = random.choice(range(str1Length)) char1 = str1[idx:idx + 1] msgNum = str((random.randint(1, 999999))) # 生成6位随机数 im = Image.open('2.jpg') # 载入图片 w, h = im.size # 获取图片宽度和高度 wdraw = 0.3 * w # 坐标 hdraw = 0.4 * h fron = ImageFont.truetype('msyhbd.ttf', 100) # 字体微软雅黑,字体大小 draw = ImageDraw.Draw(im) # 创建图像 draw.text((wdraw, hdraw), char1, font=fron, fill=(random.choice(range(255)), random.choice(range(255)), random.choice(range(255)))) draw.text((wdraw, hdraw + 100), msgNum, font=fron, fill=(random.choice(range(255)), random.choice(range(255)), random.choice(range(255)))) # draw.text((wdraw, hdraw), msgNum, font=fron, fill=(255, 33, 33)) # fill:定义颜色,可以为数字格式也可以直接指定英文如:fill="red" im.save('2_mm.png', 'png')
...