Php/docs/imagick.resizeimage

提供:Dev Guides
< Php
移動先:案内検索

Imagick::resizeImage

(PECL imagick 2, PECL imagick 3)

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


説明

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

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

注意:

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

パラメータ

columns
画像の幅。
rows
画像の高さ。
filter
フィルタ定数 の一覧を参照ください。
blur
blur 要素。> 1 はぼやけた状態、< 1 はシャープな状態を表します。
bestfit
オプションの fit パラメータ。


返り値

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


変更履歴

バージョン 説明
PECL imagick 2.1.0 オプションのパラメータ fit が追加され、

このメソッドは、比例形式の拡大・縮小をサポートするようになりました。 どちらかのパラメータにゼロを渡すと比例形式の拡大・縮小を行います。


例1 Imagick::resizeImage()

<?phpfunction resizeImage($imagePath, $width, $height, $filterType, $blur, $bestFit, $cropZoom) {    // blur 要素。1 > はぼやけた状態、< 1 はシャープな状態を表します。    $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();}?>