Basic Image Operations

Python Pillow Color Conversions

Image Manipulation

Image Filtering

Image Enhancement and Correction

Image Analysis

Advanced Topics

  • Image Module
  • Python Pillow Useful Resources

    Python Pillow - ImageDraw.regular_polygon() Function



    The ImageDraw.regular_polygon() method is used to draw a regular polygon inscribed in a bounding circle. The polygon is defined by specifying the bounding circle, the number of sides, and an optional rotation.

    Syntax

    Following is the syntax of the function −

    ImageDraw.regular_polygon(bounding_circle, n_sides, rotation=0, fill=None, outline=None, width=1)
    

    Parameters

    Here are the details of this function parameters −

    • bounding_circle − It is a tuple that defines the bounding circle point and radius. It can be specified as a tuple (x, y, r) or as ((x, y), r). The polygon is inscribed in this circle.

    • n_sides − It specifies the number of sides for the regular polygon (e.g., n_sides=3 for a triangle, n_sides=6 for a hexagon).

    • rotation − An optional parameter that applies an arbitrary rotation to the polygon, specified in degrees (e.g., rotation=90 applies a 90-degree rotation). The default is no rotation (rotation=0).

    • fill − The color to use for filling the polygon.

    • outline − The color to use for the outline of the polygon.

    • width − The line width of the polygon's outline, in pixels. The default value is 1.

    Examples

    Example 1

    This example draws a regular pentagon inscribed in a bounding circle with a specified center, and radius, the remaining parameters are set remains to the default values.

    from PIL import Image, ImageDraw
    
    # Create a new image with a white background
    image = Image.new("RGB", (700, 300), "black")
    draw = ImageDraw.Draw(image)
    
    # Define the bounding circle as a tuple (center, radius)
    bounding_circle = ((350, 150), 100)
    
    # Specify the number of sides for the regular polygon
    n_sides = 5
    
    # Draw a regular polygon inscribed in the bounding circle
    draw.regular_polygon(bounding_circle, n_sides)
    
    # Display the image
    image.show()
    
    print('The regular polygon is drawn successfully...')
    

    Output

    The regular polygon is drawn successfully...
    

    Output Image

    regular polygon

    Example 2

    This example draws a regular pentagon inscribed in a bounding circle with a specified center and radius. The fill color is set to medium spring green, and the outline color is set to yellow with a line width of 5 pixels.

    from PIL import Image, ImageDraw
    
    # Create a new image with a white background
    image = Image.new("RGB", (700, 300), "white")
    draw = ImageDraw.Draw(image)
    
    # Define the bounding circle as a tuple (center, radius)
    bounding_circle = ((350, 150), 100)
    
    # Specify the number of sides for the regular polygon
    n_sides = 6
    
    # Draw a regular polygon inscribed in the bounding circle
    draw.regular_polygon(bounding_circle, n_sides, fill='mediumspringgreen', outline='yellow', width=5)
    
    # Display the image
    image.show()
    
    print('The regular polygon is drawn successfully...')
    

    Output

    The regular polygon is drawn successfully...
    

    Output Image

    green polygon

    Example 3

    The following example demonstrates how to draw a regular polygon on an existing image with different parameters.

    from PIL import Image, ImageDraw
    
    # Open an Image
    image = Image.open('Images/TP-W.jpg')
    
    # Create the draw object
    draw = ImageDraw.Draw(image)
    
    # Define the bounding circle as a tuple (center, radius)
    bounding_circle = ((345, 145), 100)
    
    # Specify the number of sides for the regular polygon
    n_sides = 5
    
    # Set fill and outline colors
    fill_color = "red"
    outline_color = "black"
    
    # Draw a regular polygon inscribed in the bounding circle
    draw.regular_polygon(bounding_circle, n_sides, fill=fill_color, outline=outline_color, width=4)
    
    # Display the image
    image.show()
    
    print('The regular polygon is drawn successfully...')
    
    The regular polygon is drawn successfully...
    

    Output

    The regular polygon is drawn successfully...
    

    Output Image

    red polygon
    python_pillow_function_reference.htm
    Advertisements