python-pillow库PIL.Image.transform()方法详解

pillow中所有的图片处理方法都是基于Image.transform()函数的,rotate等函数是一些常规的封装罢了,学会使用它才是正统。

Image.transform(size, method, data=None, resample=0, fill=1)  

改变一张图片,这个方法会根据给定的尺寸生成一张与原图同样mode的图片,并根据给定的变化,从原图生的一个副本。说白了呢就是生成一张变换后的新图片。

这样介绍,这个函数是不是感觉很简单,分分钟都能实现,我也是这样觉得的,其实。

在介绍参数之前,我们默认已经打开了该图片:

from PIL import Image
img = Image.open("img/lyc.jpg")

下面展示一下原图:

lyc.jpg

下面说下这个函数的参数: 参数:

  • size:尺寸,接受一个二值元组,格式:(width, height)。这个参数可以用来做缩放处理,比如原图(300, 300)大小,你可以指定新图片大小为(50, 50)

  • data:这个参数是必须的,否则会报:ValueError异常。这个参数用于指定methond指定的变换方式说需要的额外的数据,这个会在下面说method参数时顺带说了。

  • method:变换的方式,该值是给定,你只能从以下几个值当中选一个:

  • Image.EXTENT(cut out a rectangular subregion[ 切出一个矩形区域 ]):

  • 该参数的data接受一个四值list,格式如:( x1, y1, x2, y2),表示矩阵的起始点(x1, y1),(x2, y2)。这个点坐标不要求一定要在图形大小表示的范围内,超过也可以,不过超过的部分默认使用黑色填充。

# 矩形剪切
img.transform((100,100),Image.EXTENT ,[100,100,400,400]).show()

lyc_trans.jpg效果图:

把原图从(100, 100) 到 (400, 400)的矩阵缩小放到 100*100大小的画布上。

更加详细的内容可以参加原文。

转载于:https://my.oschina.net/clgo/blog/822261

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值