示例#1
0
function test_path(&$canvas)
{
    $draw = new ImagickDraw();
    $draw->setFillColor('transparent');
    $draw->setStrokeColor('blue');
    $draw->setStrokeWidth(4);
    $draw->pathStart();
    $draw->pathMoveToAbsolute(300, 10);
    $draw->pathLineToHorizontalRelative(50);
    $draw->pathLineToVerticalRelative(50);
    $draw->pathEllipticArcRelative(40, 30, 30, false, true, 60, 10);
    $draw->pathLineToAbsolute(444, 22);
    $draw->pathFinish();
    $draw->pathStart();
    $draw->pathMoveToAbsolute(480, 30);
    $draw->pathCurveToAbsolute(520, 40, 560, 10, 600, 20);
    $draw->pathCurveToQuadraticBezierRelative(30, 10, -60, 80);
    $draw->pathCurveToQuadraticBezierSmoothRelative(20, -50);
    $draw->pathClose();
    $draw->pathFinish();
    $canvas->drawImage($draw);
}
示例#2
0
function pathStart($strokeColor, $fillColor, $backgroundColor)
{
    $draw = new \ImagickDraw();
    $draw->setStrokeOpacity(1);
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeWidth(2);
    $draw->setFontSize(72);
    $draw->pathStart();
    $draw->pathMoveToAbsolute(50, 50);
    $draw->pathLineToAbsolute(100, 50);
    $draw->pathLineToRelative(0, 50);
    $draw->pathLineToHorizontalRelative(-50);
    $draw->pathFinish();
    $draw->pathStart();
    $draw->pathMoveToAbsolute(50, 50);
    $draw->pathMoveToRelative(300, 0);
    $draw->pathLineToRelative(50, 0);
    $draw->pathLineToVerticalRelative(50);
    $draw->pathLineToHorizontalAbsolute(350);
    $draw->pathclose();
    $draw->pathFinish();
    $draw->pathStart();
    $draw->pathMoveToAbsolute(50, 300);
    $draw->pathCurveToAbsolute(50, 300, 100, 200, 300, 300);
    $draw->pathLineToVerticalAbsolute(350);
    $draw->pathFinish();
    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");
    $imagick->drawImage($draw);
    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}