PHP | ImagickDraw scale() Function

The ImagickDraw::scale() function is an inbuilt function in PHP which is used to adjust the scaling factor to apply in the horizontal and vertical directions to the current coordinate space.
Syntax:
bool ImagickDraw::scale( $x, $y )
Parameters: This function accepts two parameter as mentioned above and described below:
- $x: This parameter is used to hold the value of horizontal factor.
- $y: This parameter is used to hold the value of vertical factor.
Return Value: This function returns True on success.
Below programs illustrate the ImagickDraw::scale() function in PHP:
Program 1:
PHP
<?php// require_once('path/vendor/autoload.php');// Create an ImagickDraw object$draw = new \ImagickDraw();// Set the Stroke Color $draw->setStrokeColor('Green');// Set the Fill Color$draw->setFillColor('Red');// Set the stroke width$draw->setStrokeWidth(7);// Draw the rectangle$draw->rectangle(40, 30, 200, 260);// Set the scale$draw->scale(1.4, 1.4);// Set the fill color$draw->setFillColor('lightgreen');// Draw the rectangle$draw->rectangle(40, 30, 200, 260);// Create an Imagick object $image = new \Imagick();// Set the image dimensions$image->newImage(800, 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:
Program 2:
PHP
<?php// require_once('path/vendor/autoload.php');// Create an Imagick Draw object$draw = new \ImagickDraw();// Set the stroke color$strokeColor = new \ImagickPixel('Green');// Set the fill color$fillColor = new \ImagickPixel('Red');// Set the stroke opacity$draw->setStrokeOpacity(1);// Set the stroke color$draw->setStrokeColor('Green');// Set the Fill Color$draw->setFillColor('Red');// Set the stroke width$draw->setStrokeWidth(2);$smoothPointsSet = [ [ ['x' => 10.0 * 5, 'y' => 10.0 * 5], ['x' => 30.0 * 5, 'y' => 90.0 * 5], ['x' => 25.0 * 5, 'y' => 10.0 * 5], ['x' => 50.0 * 5, 'y' => 50.0 * 5], ] ];foreach ($smoothPointsSet as $points) { $draw->bezier($points);}// Set the stroke color$draw->setStrokeColor('black');// Set the fill color$draw->setFillColor('lightgreen');// Set the scale$draw->scale(1.5, 1.5); foreach ($smoothPointsSet as $points) { $draw->bezier($points); }// Create an imagick object$imagick = new \Imagick();// Set the image dimensions$imagick->newImage(400, 500, 'White');// Set the image format$imagick->setImageFormat("png");// Draw the image$imagick->drawImage($draw);header("Content-Type: image/png");// Display the imageecho $imagick->getImageBlob();?> |
Output:




