Scales an image to the desired dimensions with a filter.
Note: The behavior of the parameter
bestfit
changed in Imagick 3.0.0. Before this version given dimensions 400x400 an image of dimensions 200x150 would be left untouched. In Imagick 3.0.0 and later the image would be scaled up to size 400x300 as this is the "best fit" for the given dimensions. Ifbestfit
parameter is used both width and height must be given.
Width of the image
Height of the image
Refer to the list of filter constants.
The blur factor where > 1 is blurry, < 1 is sharp.
Optional fit parameter.
Returns TRUE
on success.
Added optional fit parameter. This method now supports proportional scaling. Pass zero as either parameter for proportional scaling.
<?php function resizeImage($imagePath, $width, $height, $filterType, $blur, $bestFit, $cropZoom) { //The blur factor where > 1 is blurry, < 1 is sharp. $imagick = new \Imagick(realpath($imagePath)); $imagick->resizeImage($width, $height, $filterType, $blur, $bestFit); $cropWidth = $imagick->getImageWidth(); $cropHeight = $imagick->getImageHeight(); if ($cropZoom) { $newWidth = $cropWidth / 2; $newHeight = $cropHeight / 2; $imagick->cropimage( $newWidth, $newHeight, ($cropWidth - $newWidth) / 2, ($cropHeight - $newHeight) / 2 ); $imagick->scaleimage( $imagick->getImageWidth() * 4, $imagick->getImageHeight() * 4 ); } header("Content-Type: image/jpg"); echo $imagick->getImageBlob(); } ?>
Please login to continue.