函式名稱: ImagickDraw::setFillRule()
函式描述: 設定填充規則,用於指定填充封閉圖形的規則。
適用版本: Imagick 3.0.0 及以上版本。
用法:
bool ImagickDraw::setFillRule ( int $fill_rule )
引數:
- $fill_rule: 填充規則的值,可以是以下常量之一:
- Imagick::FILLRULE_EVENODD: 使用奇偶規則來填充封閉圖形。預設值。
- Imagick::FILLRULE_NONZERO: 使用非零環繞數規則來填充封閉圖形。
返回值:
- 成功時返回 true,失敗時返回 false。
示例:
// 建立一個新的ImagickDraw物件
$draw = new ImagickDraw();
// 設定填充規則為非零環繞數規則
$draw->setFillRule(Imagick::FILLRULE_NONZERO);
// 新增一個多邊形
$points = array(
array('x' => 100, 'y' => 100),
array('x' => 200, 'y' => 100),
array('x' => 200, 'y' => 200),
array('x' => 100, 'y' => 200)
);
$draw->polygon($points);
// 建立一個新的Imagick物件,並將ImagickDraw物件應用於其上
$image = new Imagick();
$image->newImage(300, 300, 'white');
$image->setImageFormat('png');
$image->drawImage($draw);
// 顯示影象
header('Content-Type: image/png');
echo $image;
以上示例演示瞭如何使用 ImagickDraw::setFillRule() 函式設定填充規則為非零環繞數規則,並將其應用於一個多邊形。最後,將繪製的影象輸出為 PNG 圖片。