(PECL imagick 2, PECL imagick 3)
Imagick::resizeImage — Scales an image
$columns
,$rows
,$filter
,$blur
,$bestfit
= false
,$legacy
= false
Scales an image to the desired dimensions with a filter.
注意: 參數(shù)
bestfit
的特性在 Imagick 3.0.0 中已改變。在此版本以前,當(dāng)目標(biāo)尺寸設(shè)為 400x400 時(shí),原尺寸為 200x150 的圖像將不會(huì)被改變。自 Imagick 3.0.0 起,源圖像將會(huì)被放大到 400x300 因?yàn)檫@將更好的適合目標(biāo)尺寸。當(dāng)使用參數(shù)bestfit
時(shí),必須同時(shí)給出寬度和高度。
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.
成功時(shí)返回 true
。
版本 | 說(shuō)明 |
---|---|
PECL imagick 2.1.0 | Added optional fit parameter. This method now supports proportional scaling. Pass zero as either parameter for proportional scaling. |
示例 #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();
}
?>