Python PIL ImageDraw.Draw.polygon()方法

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()

输出:
Python PIL ImageDraw.Draw.polygon()方法

另一个例子:采取不同的参数。

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()

输出:
Python PIL ImageDraw.Draw.polygon()方法

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程