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