The ImagickDraw::translate() function is an inbuilt function in PHP which is used to apply a translation to the current coordinate system. It applies a translation to the current coordinate system which moves the coordinate system origin to the specified coordinate.
Syntax:
bool ImagickDraw::translate( $x, $y )
Parameters: This function accepts two parameters as mentioned above and described below:
- $x: This parameter is used to hold the value of x translation coordinate.
- $y: This parameter is used to hold the value of y translation coordinate.
Return Value: This function does not return any value.
Below programs illustrates the ImagickDraw::translate() function in PHP:
Program 1:
<?php // require_once('path/vendor/autoload.php'); // Create a ImagickDraw object to draw into. $draw = new ImagickDraw(); // Set the stroke color $draw ->setStrokeColor( 'black' ); // Set the Image Filled Color $draw ->setFillColor( 'red' ); // Draw the circle $draw ->circle(250, 250, 100, 150); // Set the Image Filled Color $draw ->setFillColor( 'green' ); // Set the translation points $draw ->translate(90, 30); // Draw the circle $draw ->circle(350, 350, 250, 350); // Create new imagick object $image = new Imagick(); // Set the dimensions of the image $image ->newImage(500, 500, 'white' ); // Set the image format $image ->setImageFormat( "png" ); // Draw the image $image ->drawImage( $draw ); header( "Content-Type: image/png" ); // Display the image echo $image ->getImageBlob(); ?> |
Output:
Program 2:
<?php // require_once('path/vendor/autoload.php'); // Create a ImagickDraw object to draw into. $draw = new ImagickDraw(); // Set the Stroke color $draw ->setStrokeColor( 'black' ); // Set the image filled color $draw ->setFillColor( 'red' ); $points = [[ 'x' => 40 * 5, 'y' => 10 * 5], [ 'x' => 70 * 5, 'y' => 50 * 5], [ 'x' => 60 * 5, 'y' => 15 * 5], ]; // Draw the polygon $draw ->polygon( $points ); // Set the image filled color $draw ->setFillColor( 'green' ); // Set the translation points $draw ->translate(10, 30); $points = [[ 'x' => 40 * 5, 'y' => 10 * 5], [ 'x' => 70 * 5, 'y' => 50 * 5], [ 'x' => 60 * 5, 'y' => 15 * 5], ]; // Draw the polygon $draw ->polygon( $points ); // Set the image filled color $draw ->setFillColor( 'blue' ); // Set the translation points $draw ->translate(10, 30); $points = [[ 'x' => 40 * 5, 'y' => 10 * 5], [ 'x' => 70 * 5, 'y' => 50 * 5], [ 'x' => 60 * 5, 'y' => 15 * 5], ]; // Draw the polygon $draw ->polygon( $points ); // Set the image filled color $draw ->setFillColor( 'yellow' ); // Set the translation points $draw ->translate(10, 30); $points = [[ 'x' => 40 * 5, 'y' => 10 * 5], [ 'x' => 70 * 5, 'y' => 50 * 5], [ 'x' => 60 * 5, 'y' => 15 * 5], ]; // Draw the polygon $draw ->polygon( $points ); // Create new imagick object $image = new Imagick(); // Set the image dimensions $image ->newImage(400, 400, 'white' ); // Set the image format $image ->setImageFormat( "png" ); // Draw the image $image ->drawImage( $draw ); header( "Content-Type: image/png" ); // Display the image echo $image ->getImageBlob(); ?> |
Output:
Reference: http://php.net/manual/en/imagickdraw.translate.php