欢迎访问宙启技术站
智能推送

Python中ImageDraw模块的图像编辑技巧

发布时间:2024-01-09 13:56:24

ImageDraw模块是Python Imaging Library(PIL)的一部分,提供了一些在图像上进行绘制和编辑的功能。下面是一些常用的技巧和使用示例:

1. 绘制简单的几何图形:

使用ImageDraw模块可以绘制一些简单的几何图形,如直线、矩形、圆形等。下面是一个绘制矩形和圆形的示例:

from PIL import Image, ImageDraw

# 创建一个空白图像
image = Image.new('RGB', (300, 300), 'white')
draw = ImageDraw.Draw(image)

# 绘制矩形
draw.rectangle([(50, 50), (250, 250)], outline='red')

# 绘制圆形
draw.ellipse([(100, 100), (200, 200)], outline='blue')

# 保存图像
image.save('shapes.png')

2. 绘制文本:

使用ImageDraw模块可以在图像上绘制文本。下面是一个绘制文本的示例:

from PIL import Image, ImageDraw, ImageFont

# 创建一个空白图像
image = Image.new('RGB', (400, 200), 'white')
draw = ImageDraw.Draw(image)

# 设置字体
font = ImageFont.truetype('arial.ttf', size=48)

# 绘制文本
draw.text((100, 100), 'Hello, World!', font=font, fill='black')

# 保存图像
image.save('text.png')

3. 绘制轮廓:

使用ImageDraw模块可以根据图像的边缘绘制一个新的轮廓。下面是一个绘制轮廓的示例:

from PIL import Image, ImageDraw

# 打开图像
image = Image.open('image.jpg')

# 创建一个空白图像
contour = Image.new('RGB', image.size, 'white')

# 创建一个用于绘制轮廓的对象
draw_contour = ImageDraw.Draw(contour)

# 获取图像的边缘
edge = image.filter(ImageFilter.FIND_EDGES)

# 绘制轮廓
draw_contour.paste(edge, (0, 0))

# 保存图像
contour.save('contour.png')