Wednesday, November 19, 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
32404 POSTS0 COMMENTS
Milvus
97 POSTS0 COMMENTS
Nango Kala
6775 POSTS0 COMMENTS
Nicole Veronica
11924 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11994 POSTS0 COMMENTS
Shaida Kate Naidoo
6903 POSTS0 COMMENTS
Ted Musemwa
7159 POSTS0 COMMENTS
Thapelo Manthata
6859 POSTS0 COMMENTS
Umr Jansen
6846 POSTS0 COMMENTS