Php/docs/imagick.resizeimage
Imagick::resizeImage
(PECL imagick 2, PECL imagick 3)
Imagick::resizeImage — Scales an image
说明
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:
参数
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. |
范例
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();}?>