详解Python PIL Image.draft()方法

  • Post category:Python

Python PIL库中的Image类提供了一个draft()方法,用于根据给定的模式和大小创建一个草稿版本的图像。

格式如下:

Image.draft(mode, size)

其中,

  • mode表示草稿图像的颜色模式,通常包括”L”(灰度图像)、”RGB”(彩色图像)等。
  • size表示草稿图像的大小,以元组(width, height)的形式给出。

该方法并不改变原始图像,仅仅提供一个形状相同但是内容为空的草稿版本,并返回一个ImageDraw对象,以便在该草稿图像上进行绘制。

下面有两个简单的示例说明Image.draft()方法的用法:

示例1:在草稿图像上绘制简单的几何图形

from PIL import Image, ImageDraw

# 创建一个草稿图像
image = Image.new("RGB", (500, 500), "white")
draw = ImageDraw.Draw(image)
draw.rectangle((100, 100, 400, 400), fill="blue", outline="black")

# 将草稿图像保存为PNG格式
image.save("draft.png")

这个示例创建了一个大小为(500,500)、颜色模式为RGB的草稿图像,并使用ImageDraw类的rectangle()方法在该草稿图像上绘制一个填充色为蓝色、边框为黑色的矩形,最后将草稿图像保存为PNG格式。

示例2:创建一个较小的缩略图

from PIL import Image

# 打开原始图像
image = Image.open("original.jpg")

# 创建一个草稿图像
draft = image.draft("RGB", (100, 100))

# 创建一个缩略图
thumb = image.copy()
thumb.thumbnail((100, 100))

# 将缩略图保存为JPG格式
thumb.save("thumbnail.jpg")

这个示例演示了如何使用Image.draft()方法创建一个草稿图像,然后使用Image.thumbnail()方法根据草稿图像的大小创建一个较小的缩略图。注意,Image.thumbnail()可以直接改变原始图像的大小,因此需要先copy一份原始图像以免影响原始图像。最后将缩略图保存为JPG格式。