Open In App

PHP | ImagickDraw scale() Function

Improve
Improve
Like Article
Like
Save
Share
Report

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 image
echo $imagick->getImageBlob();
?>


Output: 

Reference: http://php.net/manual/en/imagickdraw.scale.php
 



Last Updated : 15 Jul, 2021
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads