ImagickDraw
PHP Manual

ImagickDraw::setFillRule

(PECL imagick 2.0.0)

ImagickDraw::setFillRule — Configure la règle de remplissage des polygones

Description

bool ImagickDraw::setFillRule ( int $fill_rule )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Configure la règle de remplissage des polygones.

Liste de paramètres

fill_rule

Une constante FILLRULE

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec ImagickDraw::setFillRule()

<?php
function setFillRule($fillColor, $strokeColor, $backgroundColor) {

    
$draw = new \ImagickDraw();

    
$draw->setStrokeWidth(1);
    
$draw->setStrokeColor($strokeColor);
    
$draw->setFillColor($fillColor);

    
$fillRules = [\Imagick::FILLRULE_NONZERO, \Imagick::FILLRULE_EVENODD];

    
$points = 11;
    
$size = 150;

    
$draw->translate(175, 160);

    for (
$x = 0; $x < 2; $x++) {
        
$draw->setFillRule($fillRules[$x]);
        
$draw->pathStart();
        for (
$n = 0; $n < $points * 2; $n++) {

            if (
$n >= $points) {
                
$angle = fmod($n * 360 * 4 / $points, 360) * pi() / 180;
            }
            else {
                
$angle = fmod($n * 360 * 3 / $points, 360) * pi() / 180;
            }

            
$positionX = $size * sin($angle);
            
$positionY = $size * cos($angle);

            if (
$n == 0) {
                
$draw->pathMoveToAbsolute($positionX, $positionY);
            }
            else {
                
$draw->pathLineToAbsolute($positionX, $positionY);
            }
        }

        
$draw->pathClose();
        
$draw->pathFinish();

        
$draw->translate(325, 0);
    }

    
$image = new \Imagick();
    
$image->newImage(700, 320, $backgroundColor);
    
$image->setImageFormat("png");
    
$image->drawImage($draw);

    
header("Content-Type: image/png");
    echo 
$image->getImageBlob();
}

?>


ImagickDraw
PHP Manual