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:

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


Output:

Program 2:

filter_none

edit
close

play_arrow

link
brightness_4
code

<?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();
?>

chevron_right


Output:

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



My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.



Improved By : Shivam_k