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: