Open In App

Python PIL | ImageDraw.Draw.polygon() Method

Last Updated : 27 Aug, 2019
Suggest changes
Share
3 Likes
Like
Report
PIL is the Python Imaging Library which provides the python interpreter with image editing capabilities. The ImageDraw module provide simple 2D graphics for Image objects. You can use this module to create new images, annotate or retouch existing images, and to generate graphics on the fly for web use. ImageDraw.Draw.polygon()Draws a polygon. The polygon outline consists of straight lines between the given coordinates, plus a straight line between the last and the first coordinate.
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.
Python3 1==
  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() 
Output: Another Example:taking different parameters. Python3 1==
  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:

Article Tags :

Explore