📜  PHP | imagickdraw setClipRule()函数

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

PHP | imagickdraw setClipRule()函数

ImagickDraw::setClipRule()函数是PHP中的一个内置函数,用于设置剪切路径使用的多边形填充规则。这通常对最终图像没有任何影响,但仍然提供不同的 FILLRULE 方法来完成相同的任务。

句法:

bool ImagickDraw::setClipRule( int $fill_rule )

参数:此函数接受单个参数$fill_rule ,该参数包含一个对应于 FILLRULE 常量之一的整数。

FILLRULE 常量列表如下:

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

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

异常:此函数在出错时抛出 ImagickException。

下面给出的程序说明了PHP中的ImagickDraw::setClipRule()函数

方案一:

setClipRule(imagick::FILLRULE_NONZERO);
     
// Get clipRule
echo $draw->getClipRule();
?>

输出:

2 // which corresponds to imagick::FILLRULE_NONZERO.

方案二:

newImage(500, 250, 'green');
    
// Create a new ImagickDraw object
$draw = new ImagickDraw();
    
$draw->setClipRule(imagick::FILLRULE_EVENODD);
  
$draw->setFontSize(24);
  
$draw->annotation(160, 125, 
                  'The clipRule is '
                  . $draw->getClipRule() . '.');
    
// 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.setcliprule。 PHP