Monday, November 17, 2025
HomeLanguagesPHP | ImagickDraw scale() Function

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


Output: 

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

RELATED ARTICLES

Most Popular

Dominic
32402 POSTS0 COMMENTS
Milvus
95 POSTS0 COMMENTS
Nango Kala
6769 POSTS0 COMMENTS
Nicole Veronica
11920 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11990 POSTS0 COMMENTS
Shaida Kate Naidoo
6897 POSTS0 COMMENTS
Ted Musemwa
7150 POSTS0 COMMENTS
Thapelo Manthata
6851 POSTS0 COMMENTS
Umr Jansen
6843 POSTS0 COMMENTS