Python Pillow - 使用颜色创建图像



什么是使用颜色创建图像?

在 Pillow(Python Imaging Library,现在称为 Pillow)中使用颜色创建图像,涉及创建填充特定颜色的新图像。在 Pillow 中使用颜色创建图像,需要生成特定大小的图像并用所需颜色填充它。此过程允许我们生成纯色图像,这对于创建背景、占位符或简单图形等各种用途非常有用。

在 Pillow 中,我们有名为 `new()` 的方法,用于使用颜色创建图像。在开始时,我们已经看到了 `Image` 模块中可用的 `new()` 方法的语法和参数。

使用定义的颜色创建图像需要遵循几个步骤。让我们逐一查看它们。

  • 导入必要的模块

    要使用 Pillow,我们需要导入所需的模块,通常是 `Image` 和 `ImageDraw`。`Image` 模块提供用于创建和操作图像的函数,而 `ImageDraw` 用于在图像上绘制形状和文本。

  • 定义图像大小和颜色

    确定我们要创建的图像的尺寸(即宽度和高度),并指定要使用的颜色。颜色可以通过多种方式定义,例如 RGB 元组或颜色名称。

  • 使用指定的大小和颜色创建一个新图像

    使用 `Image.new()` 方法创建一个新图像。我们可以指定图像模式,可以是“RGB”、“RGBA”、“L”(灰度)以及其他模式,具体取决于我们的需求。我们还可以为图像提供大小和颜色。

  • 可选:在图像上绘制

    如果我们想向图像添加形状、文本或其他元素,则可以使用 `ImageDraw` 模块。这允许我们使用各种方法(如 `draw.text()`、`draw.rectangle()` 等)在图像上绘制。

  • 保存或显示图像

    我们可以使用 `save()` 方法将创建的图像保存到特定格式(例如 PNG、JPEG)的文件中。或者,我们可以使用 `show()` 方法显示图像,该方法会在默认图像查看器中打开图像。

示例

在这个示例中,我们使用 `Image` 模块的 `new()` 方法创建一个纯红色图像。

from PIL import Image, ImageDraw

#Define image size (width and height)
width, height = 400, 300

#Define the color in RGB format (e.g., red)
color = (255, 0, 0)  

#Red
#Create a new image with the specified size and color
image = Image.new("RGB", (width, height), color)

#Save the image to a file
image.save("output Image/colored_image.png")

#Show the image (opens the default image viewer)
image.show()

输出

colored imagedraw

示例

在这个示例中,我们使用了可选功能,即使用 `ImageDraw` 模块的 `Draw()` 方法添加文本。

from PIL import Image, ImageDraw

#Define image size (width and height)
width, height = 400, 300

#Define the color in RGB format (e.g., red)
color = (255, 0, 0)  

#Red
#Create a new image with the specified size and color
image = Image.new("RGB", (width, height), color)

#Optional: If you want to draw on the image, use ImageDraw
draw = ImageDraw.Draw(image)
draw.text((10, 10), "Hello, Welcome to Tutorialspoint", fill=(255, 255, 255))  

#Draw white text at position (10, 10)
#Save the image to a file
image.save("output Image/colored_image.png")

#Show the image (opens the default image viewer)
image.show()

输出

colored imagedraw tp
广告