La función ImagickDraw::setFillRule() es una función incorporada en PHP que se utiliza para establecer la regla de relleno que se usará al dibujar los polígonos.
Sintaxis:
bool ImagickDraw::setFillRule( int $fill_rule )
Parámetros: esta función acepta un solo parámetro $fill_rule que contiene un valor entero correspondiente a una de las constantes FILLRULE .
La lista de constantes FILLRULE se proporciona a continuación:
- imagick::FILLRULE_UNDEFINED (0)
- imagick::FILLRULE_EVENODD (1)
- imagick::FILLRULE_NONZERO (2)
Valor de retorno: esta función devuelve VERDADERO en caso de éxito.
Los siguientes programas ilustran la función ImagickDraw::setFillRule() en PHP:
Programa 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; ?>
Producción:
0 // Which corresponds to imagick::FILLRULE_UNDEFINED.
Programa 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(); ?>
Producción:
Referencia: https://www.php.net/manual/en/imagickdraw.setfillrule.php