The vignette(() function is an inbuilt function in the Python Wand ImageMagick library which is used to create a vignette-style effect on the image. It reduces image brightness or saturation toward the periphery compared to the image center.
Syntax:
vignette(radius, sigma, x, y)Parameters: This function accepts four parameters as mentioned above and defined below:
- Radius: This parameter stores the radius of the Gaussian blur effect.
- Sigma: This parameter stores the standard deviation of the Gaussian effect.
- x: This parameter stores the number of pixels to offset inward from the top & bottom of the image.
- y: This parameter stores Number of pixels to offset inward from the left & right of the image.
Return Value: This function returns the Wand ImageMagick object.
Original Image:
Example 1:
Python3
# Import library from Image from wand.image import Image
# Import the image with Image(filename = '../geeksforgeeks.png' ) as image:
# Clone the image in order to process
with image.clone() as vignette:
# Invoke vignette function with radius as 12, sigma as 10,
# x as 20, y as 20
vignette.vignette( 12 , 10 , 20 , 20 )
# Save the image
vignette.save(filename = 'vignette1.jpg' )
|
Output:
Example 2:
Python3
# Import libraries from the wand from wand.image import Image
from wand.drawing import Drawing
from wand.color import Color
with Drawing() as draw: # Set Stroke color the circle to black
draw.stroke_color = Color( 'black' )
# Set Width of the circle to 2
draw.stroke_width = 1
# Set the fill color to 'White (# FFFFFF)'
draw.fill_color = Color( 'white' )
# Invoke Circle function with center at 50, 50 and radius 25
draw.circle(( 200 , 200 ), # Center point
( 100 , 100 )) # Perimeter point
# Set the font style
draw.font = '../Helvetica.ttf'
# Set the font size
draw.font_size = 30
with Image(width = 400 , height = 400 , background = Color( '# 45ff33' )) as pic:
# Set the text and its location
draw.text( int (pic.width / 3 ), int (pic.height / 2 ), 'GeeksForGeeks !' )
# Draw the picture
draw(pic)
# Invoke vignette function with radius as 12, sigma as 10, x as 10
# y as 10
pic.vignette( 12 , 10 , 10 , 10 )
# Save the image
pic.save(filename = 'vignette2.jpg' )
|
Output: