(PECL imagick 2, PECL imagick 3)
ImagickDraw::pathCurveToQuadraticBezierSmoothRelative — Рисует квадратичную кривую Безье
Функцию пока не задокументировали; для знакомства доступен только список аргументов.
Рисует квадратичную кривую Безье (с использованием относительных координат) от текущей точки до (x,y). Предполагается, что контрольная точка является отражением контрольной точки предыдущей команды относительно текущей точки. (Если предыдущая команда отсутствует или не является DrawPathCurveToQuadraticBezierAbsolute, DrawPathCurveToQuadraticBezierRelative, DrawPathCurveToQuadraticBezierSmoothAbsolute или DrawPathCurveToQuadraticBezierSmoothRelative, то предполагается, что контрольная точка совпадает с текущей). В конце команды новая текущая точка становится последней парой координат (x,y), используемой в кривой Безье.
Функцию нельзя использовать для плавного продолжения кубической кривой Безье. Она может плавно продолжать только квадратичную кривую.
x
Конечная координата x.
y
Конечная координата y.
Функция не возвращает значения после выполнения.
Пример #1 Пример использования ImagickDraw::pathCurveToQuadraticBezierSmoothRelative()
<?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();
?>