+

Python PIL | ImageDraw.Draw.polygon () method

PIL — is a Python image library that provides the Python interpreter with image editing capabilities. The ImageDraw module provides simple 2D graphics for Image objects. You can use this module to create new images, annotate or retouch existing images, and create graphics on the fly for use on the web.

ImageDraw.Draw.polygon () Draws a polygon. 
A polygon outline consists of straight lines between the given coordinates plus a straight line between the last and first coordinates.

Syntax: PIL.ImageDraw.Draw.polygon (xy , fill = None, outline = None)

Parameters:

Parameters:

xy - Sequence of either 2-tuples like [(x, y), (x, y),…] or numeric values ​​like [x, y, x, y,…].

outline - Color to use for the outline.

fill - Color to use for the fill.

Returns: An Image object.

 

  

import math

from PIL import Imag e, 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 ()

Output:

Another example: select other options.

 

 

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

Output:

Get Solution for free from DataCamp guru