📜  Python PIL | Image.draft() 方法

📅  最后修改于: 2022-05-13 01:54:53.129000             🧑  作者: Mango

Python PIL | Image.draft() 方法

PIL 是Python Imaging Library,它为Python解释器提供了图像编辑功能。 Image 模块提供了一个同名的类,用于表示 PIL 图像。该模块还提供了许多工厂函数,包括从文件加载图像和创建新图像的函数。
Image.draft()配置图像文件加载器,使其返回尽可能匹配给定模式和大小的图像版本。例如,您可以使用此方法在加载时将彩色 JPEG 转换为灰度,或从 PCD 文件中提取 128×192 版本。

使用的图像:

Python3
# importing image object from PIL
from PIL import Image
  
# creating an image object
im = Image.open(r"C:\Users\System-Pc\Desktop\rose.jpg")
 
# print the original image object
print(im)
 
# using draft function
# convert mode and size as well
im1 = im.draft("L", (im.width // 2, im.height // 2))
im2 = im1.decoderconfig, im1.mode, im.size, im1.tile
print(im1)
print(im2)
 
# show the converted image
im1.show()


Python3
# importing image object from PIL
from PIL import Image
  
# creating an image object
im = Image.open(r"C:\Users\System-Pc\Desktop\tree.jpg")
 
# print the original image object
print(im)
 
# using draft function
# convert mode and size as well
im1 = im.draft("L", (im.width // 2, im.height // 2))
im2 = im1.decoderconfig, im1.mode, im.size, im1.tile
print(im1)
print(im2)
 
# show the converted image
im1.show()


输出1:

PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=217x232 at 0x27A3D65FD68
PIL.JpegImagePlugin.JpegImageFile image mode=L size=109x116 at 0x27A3D65FD68
((2, 0), 'L', (109, 116), [('jpeg', (0, 0, 109, 116), 0, ('L', ''))])

输出2:

另一个例子:这里我们使用另一个图像。

使用的图像:

Python3

# importing image object from PIL
from PIL import Image
  
# creating an image object
im = Image.open(r"C:\Users\System-Pc\Desktop\tree.jpg")
 
# print the original image object
print(im)
 
# using draft function
# convert mode and size as well
im1 = im.draft("L", (im.width // 2, im.height // 2))
im2 = im1.decoderconfig, im1.mode, im.size, im1.tile
print(im1)
print(im2)
 
# show the converted image
im1.show()

输出1:

PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=259x194 at 0x28A1C2C1CC0
PIL.JpegImagePlugin.JpegImageFile image mode=L size=130x97 at 0x28A1C2C1CC0
((2, 0), 'L', (130, 97), [('jpeg', (0, 0, 130, 97), 0, ('L', ''))])

输出2: