Python中ImageDraw库的基本绘图函数
发布时间:2024-01-20 18:46:25
ImageDraw是Python Imaging Library (PIL)中的一个模块,可以用来在图像上绘制各种形状、线条、文本等。下面是一些ImageDraw库中的基本绘图函数及其使用例子。
1. 绘制直线(line):
使用ImageDraw的line函数可以在图像上绘制直线。该函数的参数是起始坐标和终止坐标,可以选择线条颜色和宽度。
from PIL import Image, ImageDraw
# 创建一个新的图像
image = Image.new("RGB", (500, 500), "white")
# 创建ImageDraw对象
draw = ImageDraw.Draw(image)
# 在图像上绘制直线
draw.line([(100, 100), (400, 400)], fill="black", width=2)
# 保存图像
image.save("line.png")
2. 绘制矩形(rectangle):
使用ImageDraw的rectangle函数可以在图像上绘制矩形。该函数的参数是一个包含两个坐标的元组,可以选择矩形边框的颜色和宽度,以及填充颜色。
from PIL import Image, ImageDraw
# 创建一个新的图像
image = Image.new("RGB", (500, 500), "white")
# 创建ImageDraw对象
draw = ImageDraw.Draw(image)
# 在图像上绘制矩形
draw.rectangle([(100, 100), (400, 400)], outline="black", width=2, fill="gray")
# 保存图像
image.save("rectangle.png")
3. 绘制椭圆(ellipse):
使用ImageDraw的ellipse函数可以在图像上绘制椭圆。该函数的参数是一个包含两个坐标的元组,可以选择椭圆边框的颜色和宽度,以及填充颜色。
from PIL import Image, ImageDraw
# 创建一个新的图像
image = Image.new("RGB", (500, 500), "white")
# 创建ImageDraw对象
draw = ImageDraw.Draw(image)
# 在图像上绘制椭圆
draw.ellipse([(100, 100), (400, 400)], outline="black", width=2, fill="gray")
# 保存图像
image.save("ellipse.png")
4. 绘制多边形(polygon):
使用ImageDraw的polygon函数可以在图像上绘制任意多边形。该函数的参数是一个包含多个坐标的列表,可以选择多边形边框的颜色和宽度,以及填充颜色。
from PIL import Image, ImageDraw
# 创建一个新的图像
image = Image.new("RGB", (500, 500), "white")
# 创建ImageDraw对象
draw = ImageDraw.Draw(image)
# 在图像上绘制多边形
draw.polygon([(100, 100), (400, 400), (200, 400)], outline="black", width=2, fill="gray")
# 保存图像
image.save("polygon.png")
5. 绘制弧线(arc):
使用ImageDraw的arc函数可以在图像上绘制弧线。该函数的参数是一个包含两个坐标的元组,起始角度和终止角度(以度为单位),可以选择弧线边框的颜色和宽度。
from PIL import Image, ImageDraw
# 创建一个新的图像
image = Image.new("RGB", (500, 500), "white")
# 创建ImageDraw对象
draw = ImageDraw.Draw(image)
# 在图像上绘制弧线
draw.arc([(100, 100), (400, 400)], start=0, end=180, fill="gray")
# 保存图像
image.save("arc.png")
6. 绘制文本(text):
使用ImageDraw的text函数可以在图像上绘制文本。该函数的参数是一个包含坐标的元组,文本内容,以及字体和字体大小,可以选择文本颜色。
from PIL import Image, ImageDraw, ImageFont
# 创建一个新的图像
image = Image.new("RGB", (500, 500), "white")
# 创建ImageDraw对象
draw = ImageDraw.Draw(image)
# 设置字体和字体大小
font = ImageFont.truetype("arial.ttf", 32)
# 在图像上绘制文本
draw.text((100, 100), "Hello, World!", fill="black", font=font)
# 保存图像
image.save("text.png")
这些是ImageDraw库中的一些基本绘图函数及其使用例子。通过使用这些函数,我们可以方便地在图像上绘制各种形状、线条、文本等,用于图像的标注、分析和可视化等任务。
