Imagick::resizeImage

(PECL imagick 2, PECL imagick 3)

Imagick::resizeImageScales 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.

注意: 參數(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í)給出寬度和高度。

參數(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。

更新日志

版本 說明
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();
}

?>