📜  PHP | imagickdraw setFillRule()函数

📅  最后修改于: 2022-05-13 01:56:37.040000             🧑  作者: Mango

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()函数

方案一:

setFillRule(0);
  
// Get the Fill Rule
$fillRule = $draw->getFillRule();
echo $fillRule;
?>

输出:

0 // Which corresponds to imagick::FILLRULE_UNDEFINED.

方案二:

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