The ImagickDraw::setFillRule() function is an inbuilt function in PHP which is used to set the fill rule to use while drawing the polygons.
Syntax:
bool ImagickDraw::setFillRule( int $fill_rule )
Parameters: This function accepts a single parameter $fill_rule which holds an integer value corresponding to one of FILLRULE constants.
List of FILLRULE constants are given below:
- imagick::FILLRULE_UNDEFINED (0)
- imagick::FILLRULE_EVENODD (1)
- imagick::FILLRULE_NONZERO (2)
Return Value: This function returns TRUE on success.
Below programs illustrate the ImagickDraw::setFillRule() function in PHP:
Program 1:
<?php // Create a new ImagickDraw object $draw = new ImagickDraw(); // Set the Fill Rule $draw ->setFillRule(0); // Get the Fill Rule $fillRule = $draw ->getFillRule(); echo $fillRule ; ?> |
Output:
0 // Which corresponds to imagick::FILLRULE_UNDEFINED.
Program 2:
<?php // Create a new imagick object $imagick = new Imagick(); // Create a image on imagick object $imagick ->newImage(800, 250, 'black' ); // Create a new ImagickDraw object $draw = new ImagickDraw(); // Set the Fill Color $draw ->setFillColor( 'white' ); // Set the Fill Rule $draw ->setFillRule(Imagick::FILLRULE_EVENODD); // Translate the drawing $draw ->translate(40, 50); // Start the path and draw pathlines $draw ->pathStart(); for ( $x = 0; $x < 22; $x ++) { if ( $x >= 11) { $angle = fmod ( $x * 130, 360) * pi() / 180; } else { $angle = fmod ( $x * 98, 360) * pi() / 180; } $draw ->pathLineToAbsolute(150 * sin( $angle ), 150 * cos ( $angle )); } // Render the draw commands $imagick ->drawImage( $draw ); // Show the output $imagick ->setImageFormat( 'png' ); header( "Content-Type: image/png" ); echo $imagick ->getImageBlob(); ?> |
Output:
Reference: https://www.php.net/manual/en/imagickdraw.setfillrule.php