Imagick::resizeImage
(PECL imagick 2, PECL imagick 3)
Imagick::resizeImage — Scales an image
Description
public Imagick::resizeImage(
int
int
int
float
bool
bool
): bool
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
bestfitchanged 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. Ifbestfitparameter is used both width and height must be given.
Parameters
columnsWidth of the image
rowsHeight of the image
filterRefer to the list of filter constants.
blurThe blur factor where > 1 is blurry, < 1 is sharp.
bestfitOptional 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()
<?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();
}
?>↑ and ↓ to navigate • Enter to select • Esc to close • / to open