Imagick
PHP Manual

Imagick::resizeImage

(PECL imagick 2.0.0)

Imagick::resizeImage画像のサイズを変更する

説明

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

指定した大きさと フィルタ で、画像のサイズを変更します。

注意: パラメータ bestfit の挙動は Imagick 3.0.0 で変わりました。 これより前のバージョンでは、200x150 の画像に対して 400x400 を指定した場合は何もせずそのままになっていました。 Imagick 3.0.0 以降では、この画像は 400x300 に拡大されます。これが、 指定したサイズに対して「ベストフィット」する大きさだからです。 bestfit を使う場合は、幅と高さの両方を指定しなければなりません。

パラメータ

columns

画像の幅。

rows

画像の高さ。

filter

フィルタ定数 の一覧を参照ください。

blur

blur 要素。> 1 はぼやけた状態、< 1 はシャープな状態を表します。

bestfit

オプションの fit パラメータ。

返り値

成功した場合に TRUE を返します。

変更履歴

バージョン 説明
2.1.0 オプションのパラメータ fit が追加され、 このメソッドは、比例形式の拡大・縮小をサポートするようになりました。 どちらかのパラメータにゼロを渡すと比例形式の拡大・縮小を行います。

例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();
}

?>


Imagick
PHP Manual