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