(PECL imagick 2, PECL imagick 3)
ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute — 绘制二次贝塞尔曲线
从当前点到 (x,y) 绘制二次贝塞尔曲线(使用绝对坐标)。控制点假定为前一个命令控制点的镜像,相对于当前点。(如果没有前一个命令,或者前一个命令不是 DrawPathCurveToQuadraticBezierAbsolute、DrawPathCurveToQuadraticBezierRelative、DrawPathCurveToQuadraticBezierSmoothAbsolut 或 DrawPathCurveToQuadraticBezierSmoothRelative,则假定控制点与当前点重合)。在命令结束时,新的当前点将成为多贝塞尔曲线中使用的最终 (x,y) 坐标对。
此函数不能用于平滑地继续三次贝塞尔曲线。它只能平滑地从二次曲线继续。
x
结束 x 坐标
y
结束 y 坐标
不返回值。
示例 #1 ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute() 示例
<?php
$draw = new \ImagickDraw();
$draw->setStrokeOpacity(1);
$draw->setStrokeColor("black");
$draw->setFillColor("blue");
$draw->setStrokeWidth(2);
$draw->setFontSize(72);
$draw->pathStart();
$draw->pathMoveToAbsolute(50,250);
// 此命令指定一个二次贝塞尔曲线,当前位置为起点,控制点为前两个参数,终点为后两个参数。
// point, the control point is the first two params, and the end point is the last two params.
$draw->pathCurveToQuadraticBezierAbsolute(
150,50,
250,250
);
// 此命令指定一个二次贝塞尔曲线,当前位置为起点,控制点为前一个曲线的控制点镜像。
// and the end point is defined by the x, y values.
$draw->pathCurveToQuadraticBezierSmoothAbsolute(
450,250
);
// 此命令指定一个二次贝塞尔曲线,当前位置为起点,控制点为前一个曲线的控制点镜像。
// and the end point is defined relative from the current position by the x, y values.
$draw->pathCurveToQuadraticBezierSmoothRelative(
200,-100
);
$draw->pathFinish();
$imagick = new \Imagick();
$imagick->newImage(700, 500, $backgroundColor);
$imagick->setImageFormat("png");
$imagick->drawImage($draw);
header("Content-Type: image/png");
echo $imagick->getImageBlob();
?>