The ImagickDraw::pathMoveToAbsolute() function is an inbuilt function in PHP which is used to start a new sub-path at the given coordinate using absolute coordinates. The current point then becomes the specified coordinate. This function is used for setting initial coordinates before starting drawing anything.
Syntax:
bool ImagickDraw::pathMoveToAbsolute( float $x, float $y )
Parameters:This function accepts two parameters as mentioned above and described below:
- $x: It specifies the x-coordinate.
- $y: It specifies the y-coordinate.
Return Value: This function returns TRUE on success.
Exceptions: This function throws ImagickException on error.
Below given programs illustrate the ImagickDraw::pathMoveToAbsolute() function in PHP:
Program 1:
<?php // Create a new imagick object $imagick = new Imagick(); // Create a image on imagick object $imagick ->newImage(800, 250, 'white' ); // Create a new ImagickDraw object $draw = new ImagickDraw(); // Set the stroke width $draw ->setStrokeWidth(30); $draw ->pathStart(); // Setting the stating point to (400, 40) $draw ->pathMoveToAbsolute(400, 40); // Setting the end point to (500, 40) $draw ->pathLineToHorizontalAbsolute(500); $draw ->pathFinish(); // 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 // Create a new imagick object $imagick = new Imagick(); // Create a image on imagick object $imagick ->newImage(800, 250, 'white' ); // Create a new ImagickDraw object $draw = new ImagickDraw(); $color = [ 'blue' , 'red' , 'green' ]; // Set the stroke width $draw ->setStrokeWidth(5); // Draw lines for ( $x = 0; $x < 20; $x ++) { $draw ->setStrokeColor( $color [ $x % 3]); $draw ->pathStart(); // Moving to next vertical line $draw ->pathMoveToAbsolute( $x * 40, 0); $draw ->pathLineToVerticalRelative(800); $draw ->pathFinish(); } for ( $x = 0; $x < 20; $x ++) { $draw ->setStrokeColor( $color [ $x % 3]); $draw ->pathStart(); // Moving to next horizontal line $draw ->pathMoveToAbsolute(0, $x * 40); $draw ->pathLineToHorizontalRelative(800); $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.pathmovetoabsolute.php