ImagickDraw
PHP Manual

ImagickDraw::setFillRule

(PECL imagick 2.0.0)

ImagickDraw::setFillRuleSets the fill rule to use while drawing polygons

说明

bool ImagickDraw::setFillRule ( int $fill_rule )
Warning

本函数还未编写文档,仅有参数列表。

Sets the fill rule to use while drawing polygons.

参数

fill_rule

FILLRULE_ constant

返回值

没有返回值。

范例

Example #1 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(175160);

    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 $points360) * pi() / 180;
            }
            else {
                
$angle fmod($n 360 $points360) * 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(3250);
    }

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

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

?>


ImagickDraw
PHP Manual