Python Pillow - ImageDraw.arc() 函数



在几何学中,弧是指圆周的一部分或一段,由圆上的两个点(称为端点)以及这两个点之间的连续曲线定义。在图像处理的背景下,Python Pillow 库在其 ImageDraw 模块中提供了 arc() 方法,可以使用名为 Draw() 的类在图像上绘制弧线。

ImageDraw.arc() 方法用于在指定的边界框内绘制弧线(它是圆形轮廓的一部分)。

语法

以下是函数的语法:

ImageDraw.arc(xy, start, end, fill=None, width=0)

参数

以下是此函数参数的详细信息:

  • xy - 使用两个点定义边界框。可以将其提供为 [(x0, y0), (x1, y1)] 或 [x0, y0, x1, y1] 序列,其中 x1 >= x0 且 y1 >= y0。

  • Start - 它以度为单位表示弧线的起始角度。角度从 3 点钟方向开始测量,顺时针方向递增。

  • end - 它以度为单位表示弧线的结束角度。

  • fill - 弧线的填充颜色。

  • width - 它以像素为单位定义弧线的宽度。此参数在 5.3.0 版中引入。

示例

示例 1

在此示例中,弧线绘制在具有指定坐标和默认颜色以及宽度的边界框内。

from PIL import Image, ImageDraw

# Create a blank image
image = Image.new("RGB", (300, 300), "black")
draw = ImageDraw.Draw(image)

# Draw an arc inside a bounding box [(50, 50), (250, 250)]
draw.arc([(50, 50), (250, 250)], start=45, end=180)

# Display the image
image.show()
print('Arc is drawn successfully...')

输出

Arc is drawn successfully...

输出图像

imagedraw

示例 2

在此示例中,红色弧线绘制在宽度为 4 像素的边界框内。

from PIL import Image, ImageDraw
import numpy as np

# Create a NumPy array
arr = np.zeros([300, 700, 3], dtype=np.uint8)
arr[50:250, 50:650] = 250

# Create a Pillow Image from the NumPy array 
image = Image.fromarray(arr)

# Create the draw object
draw = ImageDraw.Draw(image)

# Draw a red arc inside a bounding box
draw.arc([(100, 70), (450, 240)], start=45, end=180, fill="red", width=4)

# Display the image
image.show()
print('The arc is drawn successfully...')

输出

The arc is drawn successfully...

输出图像

arc_drawn

示例 3

以下示例演示了如何在现有图像上使用不同的参数绘制弧线。

from PIL import Image, ImageDraw
import numpy as np

# Open an Image
image = Image.open('Images/TP-W.png')

# Create the draw object
draw = ImageDraw.Draw(image)

# Draw a red arc inside a bounding box 
draw.arc([(250, 130), (440, 260)], start=30, end=270, fill="red", width=10)

# Display the image
image.show()

print('The arc is drawn successfully...')

输出

The arc is drawn successfully...
tp logo arc
python_pillow_function_reference.htm
广告