当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


PHP ImagickDraw setFillRule()用法及代码示例


ImagickDraw::setFillRule()函数是PHP中的内置函数,用于设置绘制多边形时要使用的填充规则。

用法:

bool ImagickDraw::setFillRule( int $fill_rule )

参数:该函数接受单个参数$fill_rule,该参数保存一个与FILLRULE常量之一相对应的整数值。


FILLRULE常量列表如下:

  • imagick::FILLRULE_UNDEFINED(0)
  • imagick::FILLRULE_EVENODD(1)
  • imagick::FILLRULE_NONZERO(2)

返回值:成功时此函数返回TRUE。

以下示例程序旨在说明PHP中的ImagickDraw::setFillRule()函数:

程序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; 
?>

输出:

0 // Which corresponds to imagick::FILLRULE_UNDEFINED.

程序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(); 
?>

输出:

参考: https://www.php.net/manual/en/imagickdraw.setfillrule.php



相关用法


注:本文由纯净天空筛选整理自gurrrung大神的英文原创作品 PHP | ImagickDraw setFillRule() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。