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

