Php/docs/imagick.resizeimage

From Get docs

Imagick::resizeImage

(PECL imagick 2, PECL imagick 3)

Imagick::resizeImageScales an image


Description

public Imagick::resizeImage ( int $columns , int $rows , int $filter , float $blur [, bool $bestfit = FALSE [, bool $legacy = FALSE ]] ) : bool

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. If bestfit parameter is used both width and height must be given.

Parameters

columns
Width of the image
rows
Height of the image
filter
Refer to the list of filter constants.
blur
The blur factor where > 1 is blurry, < 1 is sharp.
bestfit
Optional fit parameter.


Return Values

Returns TRUE on success.


Changelog

Version Description
PECL imagick 2.1.0 Added optional fit parameter. This method now supports proportional scaling.

Pass zero as either parameter for proportional scaling.


Examples

Example #1 Imagick::resizeImage()

<?phpfunction 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();}?>