📜  PHP | imagickdraw pathCurveToQuadraticBezierRelative()函数

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

PHP | imagickdraw pathCurveToQuadraticBezierRelative()函数

ImagickDraw::pathCurveToQuadraticBezierRelative()函数是PHP中的内置函数,用于绘制二次贝塞尔曲线,它只不过是参数二次曲线。 pathCurveToQuadraticBezierAbsolute()pathCurveToQuadraticBezierRelative()唯一的区别是后者使用相对控制点,而前者使用绝对点。

句法:

bool ImagickDraw::pathCurveToQuadraticBezierRelative( float $x1,
                         float $y1, float $x, float $y )

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

  • $x1:指定相对控制点的x坐标。
  • $y1:指定相对控制点的y坐标。
  • $x:指定终点的 x 坐标。
  • $y:指定终点的y坐标。

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

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

方案一:

newImage(800, 250, 'black');
  
// Create a new ImagickDraw object
$draw = new ImagickDraw();
  
$draw->setFillColor('black');
  
// Set the stroke color
$draw->setStrokeColor('red');
  
// Draw curves to Quadratic Bezier Relative (with pathClose())
$draw->pathStart();
$draw->pathCurveToQuadraticBezierRelative(150, 750, 750, 250);
$draw->pathClose();
$draw->pathFinish();
  
$draw->pathStart();
$draw->pathCurveToQuadraticBezierRelative(350, 50, 750, 650);
$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, 'black');
  
// Create a new ImagickDraw object
$draw = new ImagickDraw();
  
$draw->setFillColor('black');
  
// Set the stroke color
$draw->setStrokeColor('green');
  
// Draw curves (without pathClose())
$draw->pathStart();
$draw->pathCurveToQuadraticBezierRelative(150, 750, 350, 0);
$draw->pathFinish();
  
// 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.pathcurvetoquadraticbezierrelative。 PHP