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