imagecropauto
(PHP 5 >= 5.5.0, PHP 7)
imagecropauto — 利用可能なモードを指定して、画像を自動的にクロップする
説明
imagecropauto
( resource $image
[, int $mode
= IMG_CROP_DEFAULT
[, float $threshold
= .5
[, int $color
= -1
]]] ) : resource|false
指定した mode
にしたがって、画像を自動的にクロップします。
警告 この関数は、 現在のところ詳細な情報はありません。引数のリストのみが 記述されています。
パラメータ
image
imagecreatetruecolor() のような画像作成関数が返す画像リソース。
mode
以下の定数のいずれか。
IMG_CROP_DEFAULT
-
IMG_CROP_TRANSPARENT
と同じです。 PHP 7.4.0 より前のバージョンでは、 PHP にバンドルされた libgd は、 画像に透過色がない場合にIMG_CROP_SIDES
にフォールバックしていました。 IMG_CROP_TRANSPARENT
- 透過色の背景をクロップします。
IMG_CROP_BLACK
- 黒の背景をクロップします。
IMG_CROP_WHITE
- 白の背景をクロップします。
IMG_CROP_SIDES
- 画像の四隅から、クロップする背景色を検出します。
IMG_CROP_THRESHOLD
-
threshold
とcolor
を用いてクロップします。
threshold
画像の色とクロップする色を比較する際に用いる許容誤差を、パーセントで指定します。 色の違いを判断する際には、RGBキューブ内での距離を用います。
IMG_CROP_THRESHOLD
モードのときにだけ利用します。注意:
PHP 7.4.0 より前のバージョンでは、 PHP にバンドルされていた libgd はやや異なるアルゴリズムを用いていました。 なので、同じ
threshold
を渡しても システムの libgd と PHP にバンドルされた libgd とは異なる結果が生成されていました。color
RGB値あるいはパレットインデックスを指定します。
IMG_CROP_THRESHOLD
モードのときにだけ利用します。
変更履歴
バージョン | 説明 |
---|---|
7.4.0 | PHP にバンドルされた imagecropauto() の振る舞いは、
システムにインストールされる libgd のそれと同じになりました。
つまり、 |
7.4.0 | mode パラメータのデフォルト値が
|
例
例1 自動クロップの適切な処理
返り値のところで説明したとおり、全部クロップしてしまったときに
imagecropauto() が返す値は false
となります。
この例では、クロップする部分がある場合にだけ画像リソース
$im
を自動クロップします。
それ以外の場合は、元の画像をそのまま使います。
<?php$cropped = imagecropauto($im, IMG_CROP_DEFAULT);if ($cropped !== false) { // 新しい画像リソースが戻された場合にだけ imagedestroy($im); // 元の画像を破棄して $im = $cropped; // クロップ後の画像を $im に代入します}?>