The bezier() is another Drawing function in Wand. This method is used to draw a bezier curve. It requires four points to determine a bezier curve. Extreme points define the start and end of the curve while in between two points are used to control the curve.
Syntax: wand.drawing.bezier(points)
Parameters :
Parameter Input Type Description points list list of x, y tuples.
Example 1:
# Import required objects from wand modules from wand.image import Image from wand.drawing import Drawing from wand.color import Color # generate object for wand.drawing with Drawing() as draw: # set stroke color draw.stroke_color = Color( 'black' ) # set width for stroke draw.stroke_width = 1 # points list to determine curve points = [( 40 , 10 ), # Start point ( 20 , 50 ), # First control ( 90 , 10 ), # Second control ( 70 , 40 )] # End point # fill white color in arc draw.fill_color = Color( 'white' ) # draw bezier curve using bezier function draw.bezier(points) with Image(width = 100 , height = 100 , background = Color( 'green' )) as img: # draw shape on image using draw() function draw.draw(img) img.save(filename = 'bezier.png' ) |
Output:
Example #2:
Input Image:
# Import required objects from wand modules from wand.image import Image from wand.drawing import Drawing from wand.color import Color # generate object for wand.drawing with Drawing() as draw: points = [( 20 , 100 ), # Start point ( 50 , 10 ), # First control ( 50 , 90 ), # Second control ( 180 , 100 )] # set stroke color draw.stroke_color = Color( 'black' ) # set width for stroke draw.stroke_width = 1 # fill white color in arc draw.fill_color = Color( 'white' ) # draw bezier curve using bezier function # From bottom left around to top right draw.bezier(points) with Image(filename = "gog.png" ) as img: # draw shape on image using draw() function draw.draw(img) img.save(filename = 'bezier2.png' ) |
Output: