Scales an image


(PECL imagick 2.0.0)

Imagick::resizeImageScales an image

Описание

bool Imagick::resizeImage ( int $columns , int $rows , int $filter , float $blur [, bool $bestfit = false ] )

Scales an image to the desired dimensions with a filter.

Замечание: Поведение параметра bestfit было изменено в Imagick 3.0.0. До этой версии при изменении изображения размером 200x150 до 400x300 никаких операций не происходило. В Imagick 3.0.0 и далее изображение будет масштабировано до размеров 400x300, так как это наилучшим образом соответствует ("best fit") данным размерам. Если используется параметр 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.

Список изменений

Версия Описание
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 &gt; 1 is blurry, &lt; 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();
}

?>