Imagick::resizeImage
(PECL imagick 2, PECL imagick 3)
Imagick::resizeImage — Scales an image
说明
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.
注意: 参数
bestfit的特性在 Imagick 3.0.0 中已改变。在此版本以前,当目标尺寸设为 400x400 时,原尺寸为 200x150 的图像将不会被改变。自 Imagick 3.0.0 起,源图像将会被放大到 400x300 因为这将更好的适合目标尺寸。当使用参数bestfit时,必须同时给出宽度和高度。
参数
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.
返回值
成功时返回 true。
更新日志
| 版本 | 说明 |
|---|---|
| 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();
}
?>