(PECL imagick 2, PECL imagick 3)
ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute — 繪製二次貝茲曲線
從目前點到 (x,y) 繪製一條二次貝茲曲線(使用絕對座標)。控制點假定為相對於目前點的前一個指令上的控制點的反射。(如果沒有先前的指令,或者先前的指令不是 DrawPathCurveToQuadraticBezierAbsolute、DrawPathCurveToQuadraticBezierRelative、DrawPathCurveToQuadraticBezierSmoothAbsolute 或 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);
// 這指定一條二次貝茲曲線,其起點為目前位置,控制點為前兩個參數,終點為後兩個參數。
$draw->pathCurveToQuadraticBezierAbsolute(
150,50,
250,250
);
// 這指定一條二次貝茲曲線,其起點為目前位置,控制點是從前一條曲線的控制點鏡像而來
// 且終點由 x、y 值定義。
$draw->pathCurveToQuadraticBezierSmoothAbsolute(
450,250
);
// 這指定一條二次貝茲曲線,其起點為目前位置,控制點是從前一條曲線的控制點鏡像而來
// 且終點由相對於目前位置的 x、y 值定義。
$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();
?>