PHP | Función ImagickDraw setFillRule()

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

Publicación traducida automáticamente

Artículo escrito por gurrrung y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *