PIL 学习笔记(1)

使用 Python Image Library (PIL), 需要先导入相关模块:

import  Image

如何加载图片
im  =  Image.open(r " D:/www/icon_1.jpg " )

如果加载发生错误,会引发 IOError.

打印出图片的格式、大小、模式
print  im.format, im.size, im.mode

图片的显示,用 show() 方法
im.show()

show() 需要调用 xv 程序,适合调试和测试。在 Windows 上通常是调用相关的关联程序来打开(我的是 AcdSee)。注意这个方法在显示前会自动创建临时文件。


图片的保存
im.save(r " d:/www/icon_1.gif " )

默认会自动根据目标文件扩展名判断保存的格式,但可以给 save 方法提供第二个参数指定格式。

创建缩略图
im.thumbnail(( 128 128 ))
im.save(r
" d:/www/icon_1.thumbnail " " JPEG " )


图片的区域裁剪

用 crop 方法可以裁剪图片中的一个矩形区域
box  =  ( 100 100 400 400 #  (left, upper, right, lower)
region  =  im.crop(box)


图片的粘贴

处理上面的区域,然后粘贴回来:
region  =  region.transpose(Image.ROTATE_180)
im.paste(region, box)

需要注意粘贴的时候目标区域大小要和被粘贴的图片一样大。

高级技巧:paste 方法可以指定可选参数,设定透明度(0~255).

PIL 还可以处理 multi-band 图片的每个独立的 band. 比如 RGB. 然后用 merge 函数重新合并:
r, g, b  =  im.split()
im 
=  Image.merge( " RGB " , (b, g, r))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值