當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。