Imagick::adaptiveResizeImage
(PECL imagick 2, PECL imagick 3)
Imagick::adaptiveResizeImage — データに依存する三角測量にもとづいて画像のサイズを変更する
説明
int
$columns
,int
$rows
,bool
$bestfit
= false
,bool
$legacy
= false
): bool
データに依存する三角測量にもとづいて画像のサイズを変更します。 色が突然変わる箇所でのにじみを避けます。 たとえば、画像をほんの少しだけ縮小して "ウェブサイズ" にする場合などに便利です。フルサイズの画像のサムネイルを作成する場合などは、 あまりうまくいかないかもしれません。 このメソッドは、ImageMagick バージョン 6.2.9 以降で Imagick をコンパイルした場合に使用可能です。
注意: パラメータ
bestfit
の挙動は Imagick 3.0.0 で変わりました。 これより前のバージョンでは、200x150 の画像に対して 400x400 を指定した場合は何もせずそのままになっていました。 Imagick 3.0.0 以降では、この画像は 400x300 に拡大されます。これが、 指定したサイズに対して「ベストフィット」する大きさだからです。bestfit
を使う場合は、幅と高さの両方を指定しなければなりません。
パラメータ
columns
-
変更後の画像のカラム数。
rows
-
変更後の画像の行数。
bestfit
-
画像の大きさをバウンディングボックスにあわせるかどうか。
戻り値
成功した場合に true
を返します。
エラー / 例外
エラー時に ImagickException をスローします。
変更履歴
バージョン | 説明 |
---|---|
PECL imagick 2.1.0 | オプションの fit パラメータが追加されました。 |
PECL imagick 2.1.0 | このメソッドは、比例形式の拡大・縮小をサポートするようになりました。 どちらかのパラメータにゼロを渡すと比例形式の拡大・縮小を行います。 |
例
例1 Imagick::adaptiveResizeImage() の使用法
画像のサイズをウェブの標準サイズに変更します。 このメソッドは、元のサイズより少しだけ小さくする場合に最適です。 size.
<?php
header('Content-type: image/jpeg');
$image = new Imagick('image.jpg');
$image->adaptiveResizeImage(1024,768);
echo $image;
?>
参考
- Imagick::chopImage() - 画像の一部を取り除き、切り詰める
- Imagick::cropImage() - 画像の一部を抽出する
- Imagick::magnifyImage() - 画像を 2 倍に比例拡大する
- Imagick::minifyImage() - 画像をその半分のサイズに比例縮小する
- Imagick::resizeImage() - 画像のサイズを変更する
- Imagick::scaleImage() - 画像のサイズを変更する
- Imagick::shaveImage() - 画像の輪郭からピクセルを刈り取る
- Imagick::thumbnailImage() - 画像のサイズを変更する
- Imagick::trimImage() - 画像の輪郭を削除する