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