django中PIL库的学习和使用

django中PIL库的学习和使用

1. 基本使用

先安装

pip install pillow

再使用

from PIL import Image
im = Image.open("./ttt.jpg")
print(im.format)      # jpg
print(im.size)        # (长, 宽)
print(im.mode)        # RGB
im.show()             # 把im在界面上打开
im.save("./kkk.png")  #  把这张图片保存成kkk.png,save也可以指定扩展名

写一个脚本判断所有图片类型

import os
from PIL import Image

for infile in os.listdir("./"):
    try:
        with Image.open(infile) as im:
            print(infile, im.format, "%s*%s" % im.size, im.mode)
    except OSError as e:
        print(e)

2. 创建JPEG缩略图

im = Image.open("./ttt.jpg")
size = (300, 300)
im.thumbnail(size)
im.save("./ttt.thumnail.jpeg")
注意:这个缩小是等比例缩小的,也就是说按照最长的哪个缩小,如果想截图,这是不行的,这个方法只能等比例缩小

3. 固定范围切图crop

im = Image.open("./ttt.jpg")
box = (0,0,300,300)
region = im.crop(box)   # 这相当于切来一个300*300的图像,赋值给region了,他有format,size,mode属性
region.save("./ttt.300*300.jpg")

也可以把剪切后的图形放到其他图形上,注意box大小一致

im.paste(region, (100,0,400,300))
im.show()
im.save("./ttt.jpg")

4. 变换颜色通道

im = Image.open("./ttt.jpg")
r, g, b = im.split()
im = Image.merge("RGB", (g, b, r))
im.show()
im.save("./ttt.rgb.jpg")

5. 变换几何图形 resize/rotate/transpose

resize:
out = im.resize((300, 300))
out.show()              # resize是变换尺寸,把图形都改变了,压缩了,这点和thumbnail有很大不同

rotate: 注意rotate并不改变宽高
out2 = im.rotate(45)    # rotate是顺时针旋转了,45度

transpose: 这个旋转改变了宽高,但是镜像没有改变宽高
out = im.transpose(Image.FLIP_LEFT_RIGHT)   # 左右镜像
out = im.transpose(Image.FLIP_TOP_BOTTOM)   # 上下镜像
out = im.transpose(Image.ROTATE_90)         # 旋转90度 改变了宽高
out = im.transpose(Image.ROTATE_180)        # 旋转180度 改变了宽高,只有90,180,270

6. 还有很多功能。。。

7. 与PIL库配合使用的os库 函数

os.path.splitext(“/home/python/jjj.png”) ==> (“/home/python/jjj”, “.png”) 提取后缀

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值