作者:续2502915941 | 来源:互联网 | 2023-10-12 18:31
使用 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))