文字

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

?>
上一篇: 下一篇: