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

如何使用ImageDraw绘制直线、矩形和圆形

发布时间:2023-12-14 23:51:36

使用ImageDraw库可以在图片上绘制直线、矩形和圆形等图形。下面是一个基本的使用例子,步骤如下:

步骤1:导入相关库和打开图片。

from PIL import Image, ImageDraw
 
# 打开图片
image = Image.open("input.jpg")
 
# 创建一个绘图对象
draw = ImageDraw.Draw(image)

步骤2:绘制直线。直线需要指定起始点和终点的坐标,以及线的颜色。

# 绘制直线
start_point = (100, 100)
end_point = (200, 200)
line_color = "red"
draw.line([start_point, end_point], fill=line_color)

步骤3:绘制矩形。矩形需要指定左上角和右下角的坐标,以及矩形的边框颜色和填充颜色。

# 绘制矩形
top_left = (300, 300)
bottom_right = (400, 400)
border_color = "blue"
fill_color = "yellow"
draw.rectangle([top_left, bottom_right], outline=border_color, fill=fill_color)

步骤4:绘制圆形。圆形需要指定圆心坐标、半径和边框颜色。

# 绘制圆形
center = (500, 500)
radius = 50
border_color = "green"
draw.ellipse([(center[0]-radius, center[1]-radius), (center[0]+radius, center[1]+radius)], outline=border_color)

步骤5:保存绘制好的图片。

# 保存图片
image.save("output.jpg")

完整的代码如下:

from PIL import Image, ImageDraw
 
# 打开图片
image = Image.open("input.jpg")
 
# 创建一个绘图对象
draw = ImageDraw.Draw(image)
 
# 绘制直线
start_point = (100, 100)
end_point = (200, 200)
line_color = "red"
draw.line([start_point, end_point], fill=line_color)
 
# 绘制矩形
top_left = (300, 300)
bottom_right = (400, 400)
border_color = "blue"
fill_color = "yellow"
draw.rectangle([top_left, bottom_right], outline=border_color, fill=fill_color)
 
# 绘制圆形
center = (500, 500)
radius = 50
border_color = "green"
draw.ellipse([(center[0]-radius, center[1]-radius), (center[0]+radius, center[1]+radius)], outline=border_color)
 
# 保存图片
image.save("output.jpg")

运行以上代码,就可以在原始图片上绘制直线、矩形和圆形,并将结果保存为output.jpg。可以根据实际需求调整图形的位置、颜色、大小等参数。