Python PIL ImageDraw.Draw.polygon()方法
PIL是Python成像库,它为Python解释器提供了图像编辑功能。ImageDraw模块为图像对象提供简单的2D图形。你可以使用这个模块来创建新的图像,注释或修饰现有的图像,并为网络使用而即时生成图形。
ImageDraw.Draw.polygon() 绘制一个多边形。
多边形的轮廓由给定坐标之间的直线组成,加上最后一个和第一个坐标之间的直线。
语法: PIL.ImageDraw.Draw.polygon(xy, fill=None, outline=None)
参数:
参数:
xy – 2元组的序列,如[(x, y), (x, y), …]或数字值如[x, y, x, y, …]。
outline – 轮廓使用的颜色。
fill – 用于填充的颜色。
返回:一个图像对象。
import math
from PIL import Image, ImageDraw
from PIL import ImagePath
side = 8
xy = [
((math.cos(th) + 1) * 90,
(math.sin(th) + 1) * 60)
for th in [i * (2 * math.pi) / side for i in range(side)]
]
image = ImagePath.Path(xy).getbbox()
size = list(map(int, map(math.ceil, image[2:])))
img = Image.new("RGB", size, "# f9f9f9")
img1 = ImageDraw.Draw(img)
img1.polygon(xy, fill ="# eeeeff", outline ="blue")
img.show()
输出:
另一个例子:采取不同的参数。
import math
from PIL import Image, ImageDraw
from PIL import ImagePath
side = 6
xy = [
((math.cos(th) + 1) * 90,
(math.sin(th) + 1) * 60)
for th in [i * (2 * math.pi) / side for i in range(side)]
]
image = ImagePath.Path(xy).getbbox()
size = list(map(int, map(math.ceil, image[2:])))
img = Image.new("RGB", size, "# f9f9f9")
img1 = ImageDraw.Draw(img)
img1.polygon(xy, fill ="# eeeeff", outline ="blue")
img.show()
输出: