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')
