📜  PHP | imagickdraw pathEllipticArcAbsolute()函数

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

PHP | imagickdraw pathEllipticArcAbsolute()函数

ImagickDraw::pathEllipticArcAbsolute()函数是PHP中的一个内置函数,用于使用绝对坐标从当前点到 (x, y) 绘制一条椭圆弧。

句法:

bool ImagickDraw::pathEllipticArcAbsolute(
float $rx, float $ry, float $x_axis_rotation, 
bool $large_arc_flag, bool $sweep_flag, float $x, 
float $y )

参数:此函数接受上面提到的七个参数,如下所述:

  • $rx:它指定 x 半径。
  • $ry:它指定 y 半径
  • $x_axis_rotation:指定x轴旋转
  • $large_arc_flag:它指定是否绘制较大的可用弧。
  • $sweep_flag:它指定是否绘制匹配顺时针旋转的圆弧。
  • $x:指定 x 坐标。
  • $y:它指定 y 坐标。

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

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

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

方案一:

newImage(800, 250, 'green');
  
// Create a new ImagickDraw object
$draw = new ImagickDraw();
  
$draw->setFillColor('blue');
  
// Set the stroke color
$draw->setStrokeColor('red');
  
// Set the stroke width
$draw->setStrokeWidth(15);
  
// Draw elliptic arc
$draw->pathStart();
$draw->pathEllipticArcAbsolute(420, 250, 10, true, true, 40, 40);
$draw->pathClose();
$draw->pathFinish();
  
// Render the draw commands
$imagick->drawImage($draw);
  
// Show the output
$imagick->setImageFormat('png');
header("Content-Type: image/png");
echo $imagick->getImageBlob();
?>

输出:

方案二:

newImage(800, 250, '#E57733');
  
// Create a new ImagickDraw object
$draw = new ImagickDraw();
  
// Set the width of stroke
$draw->setStrokeWidth(1);
  
// Set the color of stroke
$draw->setStrokeColor('#E57733');
  
// Set the fill color
$draw->setFillColor('black');
  
// Set the fill rule
$draw->setFillRule(Imagick::FILLRULE_NONZERO);
  
// Draw a sunset cartoon
$draw->pathStart();
$draw->pathMoveToAbsolute(0, 100);
$draw->pathEllipticArcAbsolute(420, 400, 410, true, true, 0, 900);
$draw->pathMoveToAbsolute(300, 250);
$draw->pathEllipticArcAbsolute(420, 600, 410, true, true, 0, 900);
$draw->pathClose();
$draw->pathFinish();
$draw->setFillColor('yellow');
$draw->translate(30, 0);
$draw->circle(300, 100, 300, 150);
  
// 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.pathellipticarcabsolute。 PHP