Tutorialspoint.dev

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

/div>

Output:

Program 2:

<?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



This article is attributed to GeeksforGeeks.org

You Might Also Like

leave a comment

code

0 Comments

load comments

Subscribe to Our Newsletter