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
廣告