Python学习笔记——PIL库(图像处理)

1.PIL

英文是Python Imaging Library,也就是图像处理标准库,PIL非常强大,但是API是十分的简单的

pil仅仅支持python2.7,,pil已经好久没有更新了,所以一些志愿者他们基于PIL的基础创建了其兼容版本,也就是Pillow,它支持3.x,其对比PIL,又添加了新的特性。

2.安装(也可参考3的开发文档)

https://blog.csdn.net/tscaxx/article/details/104081459

https://blog.csdn.net/tscaxx/article/details/102885895

3.开发文档

 4.简单应用(参照了开发文档)

4.1创建图片

from PIL import Image
from PIL import ImageDraw
from PIL import ImageFont
import requests

#参数:(模式,坐标,颜色)
img = Image.new("RGB", (512, 512), "red")

img.show()#显示图片

4.2打开图片、预览图片

from PIL import Image
from PIL import ImageDraw
from PIL import ImageFont
from io import BytesIO
import requests


#获取图片

#方案一:获取网络图片,网址是下载图片的网址
r = requests.get("https://dwz.cn/f71CnKss")
img = Image.open(BytesIO(r.content))
# 方案二:打开当前目录的图片
#img = Image.open('1.png')

#保存图片为2.jpg
img.save('2.jpg')

#显示获取的图片
img.show()

4.3旋转、重置大小、保存

img_2 = img.rotate(45)#图片逆时针旋转45度,获得旋转后的图片对象
img_2 = img.resize((300,300))#修改图片大小
img_2.show()
img_2.save('2.jpg')#保存旋转后的图片为2.jpg

4.4ImageDraw(画点、线、矩形,写入文本)

首先实例化Draw对象,再通过这个对象去控制

#获得画图对象
draw = ImageDraw.Draw(img)#实例化Draw对象

#画点
draw.point((10,10),(255,0,0))#参数:坐标、颜色

#画矩形 #第一个参数:矩形的左上点、右下点坐标
draw.rectangle((20,20,40,40),fill="red")#填充
draw.rectangle((15,15,50,50),outline="green")#画框

#画线 #参数:两端点的坐标
draw.line((50,60,50,600),fill="blue",width=1)

#写入文本
#ft_mnjxsh.ttf是字体文件,可在网上下载下来,放在根目录
font = ImageFont.truetype(font='ft_mnjxsh.ttf',size=30)#使用什么字体和什么大小
draw.text(xy=(100,10),text='hello world',fill="red",font=font)

img.show()#显示图片

注意:ft_mnjxsh.ttf是字体文件,可在网上下载下来,放在根目录

4.5多张图片组合

#获取第一张图片(来自网络)
r = requests.get("https://dwz.cn/f71CnKss")
img = Image.open(BytesIO(r.content))

#获取第二张图片(来自根目录)
img2 = Image.open("2.jpg")

#img上面粘贴上img2
img.paste(img2,(20,20))#(20,20)是位置
img.show()#显示图片

扫描二维码关注公众号,回复: 8884829 查看本文章
发布了60 篇原创文章 · 获赞 4 · 访问量 7413

猜你喜欢

转载自blog.csdn.net/tscaxx/article/details/104085271