Open In App

PHP | ImagickDraw setFillRule() Function

Last Updated : 07 Mar, 2024
Comments
Improve
Suggest changes
Like Article
Like
Report
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
<?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
<?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:

Next Article

Similar Reads