17.2.1 处理 Image 数据类型

Image  对象有一些有用的属性,提供了加载的图像文件的基本信息:它的宽度
和高度、文件名和图像格式(如JPEG、GIF 或 PNG)。例如,在交互式环境中输入以下代码:


>>>  from  PIL  import  Image
>>>  catIm  =  Image.open('zophie.png')
>>>  catIm.size
➊  (816,  1088)
➋  >>>  width,  height  =  catIm.size
➌  >>>  width
816
➍  >>>  height
1088
>>>  catIm.filename
'zophie.png'
>>>  catIm.format
'PNG'
>>>  catIm.format_description
'Portable  network  graphics'
➎  >>>  catIm.save('zophie.jpg')


从 Zophie.png 得到一个 Image 对象并保存在 catIm 中后,我们可以看到该对象的 size 
属性是一个元组,包含该图像的宽度和高度的像素数➊。我们可以将元组中的值赋给 width 和 height 
变量➋,以便分别访问宽度➌和高度➍。filename 属性描述了原始文件的名称。format 
和format_description 属性是字符串,描述了原始文件的图像格式(format_description 比较详细)。
最后,调用 save()方法,传入'zophie.jpg’,将新图像以文件名 zophie.jpg 保存到硬盘上➎。Pillow 看到文件扩展名是 jpg,就自动使用 
JPEG 图像格式来保存图像。现在硬盘上应该有两个图像,zophie.png 和 zophie.jpg。虽然这些文件都基于相同的图像,但它们不一样,因为格式不同。
Pillow 还提供了 Image.new()函数,它返回一个 Image 对象。这很像 Image.open(),不过 
Image.new()返回的对象表示空白的图像。Image.new()的参数如下:
•    字符串'RGBA',将颜色模式设置为 RGBA(还有其他模式,但本书没有涉及)。
•    大小,是两个整数元组,作为新图像的宽度和高度。
•    图像开始采用的背景颜色,是一个表示 RGBA  值的四整数元组。你可以用 
ImageColor.getcolor()函数的返回值作为这个参数。另外,Image.new()也支持传入标准颜色名称的字符串。
例如,在交互式环境中输入以下代码:

>>>  from  PIL  import  Image
➊  >>>  im  =  Image.new('RGBA',  (100,  200),  'purple')
>>>  im.save('purpleImage.png')
➋  >>>  im2  =  Image.new('RGBA',  (20,  20))
>>>  im2.save('transparentImage.png')

这里,我们创建了一个 Image 对象,它有 100 像素宽、200 像素高,带有紫色背景➊。然后,该图像存入文件 purpleImage.png 中。我们再次调用 
Image.new(),创建另一个 Image 对象,这次传入(20, 
20)作为大小,没有指定背景色➋。如果未指定颜色参数,默认的颜色是不可见的黑色(0,0,0,0),因此第二个图像具有透明背景,我们将这个 20×20 的透明正方形存入 
transparentImage.png。
 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大飞哥软件自习室

希望支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值