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((128128))
im.save(r
"d:/www/icon_1.thumbnail""JPEG")


图片的区域裁剪

用 crop 方法可以裁剪图片中的一个矩形区域
box = (100100400400# (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))

posted on 2007-03-31 01:06  NeilChen  阅读(1736)  评论(1编辑  收藏  举报

导航