Open In App

PHP | ImagickDraw pathCurveToSmoothRelative() Function

Last Updated : 23 Dec, 2019
Comments
Improve
Suggest changes
Like Article
Like
Report
The ImagickDraw::pathCurveToSmoothRelative() function is an inbuilt function in PHP which is used to draw a cubic Bezier curve from the current point to (x,y) using relative coordinates. Syntax:
bool ImagickDraw::pathCurveToSmoothRelative( float $x2, float $y2, float $x, float $y )
Parameters: This function accepts four parameters as mentioned above and described below:
  • $x2: It specifies the x-coordinate of the second control point.
  • $y2: It specifies the y-coordinate of the second control point.
  • $x: It specifies the x-coordinate of the ending point.
  • $y: It specifies the y-coordinate of the ending point.
Return Value: This function returns TRUE on success. Exceptions: This function throws ImagickException on error. Below given programs illustrate the ImagickDraw::pathCurveToSmoothRelative() function in PHP: Program 1: php
<?php

// Create a new imagick object
$imagick = new Imagick();
 
// Create a image on imagick object
$imagick->newImage(800, 250, 'skyblue');
 
// Create a new ImagickDraw object
$draw = new ImagickDraw();
 
// Set the fill color
$draw->setFillColor('skyblue');

// Set the stroke color
$draw->setStrokeColor('black');

// Set the stroke width
$draw->setStrokeWidth(5);
 
// Draw a painting
$draw->pathStart();
$draw->pathMoveToRelative(335, 70);
$draw->pathCurveToSmoothRelative(50, -50, 60, 20);
$draw->pathCurveToSmoothRelative(50, -50, 60, 20);
$draw->pathMoveToRelative(50, 50);
$draw->pathCurveToSmoothRelative(50, -50, 60, 20);
$draw->pathCurveToSmoothRelative(50, -50, 60, 20);
$draw->pathMoveToRelative(-500, 0);
$draw->pathCurveToSmoothRelative(50, -50, 60, 20);
$draw->pathCurveToSmoothRelative(50, -50, 60, 20);
$draw->pathFinish();

// Set the fill color
$draw->setFillColor('yellow');

// Draw a circle
$draw->circle(20, 20, 100, 20);

// Set the stroke width
$draw->setStrokeWidth(1);

// Set the fond size
$draw->setFontSize(40);

// Set the fill color
$draw->setFillColor('yellow');

// Annotate the text
$draw->annotation(500, 40, 'Summer Vibes');

// Render the draw commands
$imagick->drawImage($draw);
 
// Show the output
$imagick->setImageFormat('png');
header("Content-Type: image/png");
echo $imagick->getImageBlob();
?>
Output: Program 2: php
<?php
// Create a new imagick object
$imagick = new Imagick();

// Create a image on imagick object
$imagick->newImage(800, 250, 'cyan');

// Create a new ImagickDraw object
$draw = new ImagickDraw();

$draw->setFillColor('purple');

// Set the stroke color
$draw->setStrokeColor('blue');

// Set the stroke width
$draw->setStrokeWidth(15);

// Draw curves to Quadratic Bezier Relative (with pathClose())
$draw->pathStart();
$draw->pathCurveToSmoothRelative(-200, 250, 1900, 1250);
$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();
?>
Output: Reference: https://www.php.net/manual/en/imagickdraw.pathcurvetosmoothrelative.php

Next Article

Similar Reads