imagecropauto
(PHP 5 >= 5.5.0, PHP 7)
imagecropauto — 利用可能なモードを指定して、画像を自動的にクロップする
説明
$image
[, int $mode = -1
[, float $threshold = .5
[, int $color = -1
]]] ) : resource
指定した mode にしたがって、画像を自動的にクロップします。
この関数は、 現在のところ詳細な情報はありません。引数のリストのみが 記述されています。
パラメータ
-
image -
imagecreatetruecolor() のような画像作成関数が返す画像リソース。
-
mode -
以下の定数のいずれか。
-
IMG_CROP_DEFAULT -
IMG_CROP_TRANSPARENTを使うことを試みます。 失敗した場合は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モードのときにだけ利用します。 -
color -
RGB値あるいはパレットインデックスを指定します。
IMG_CROP_THRESHOLDモードのときにだけ利用します。
返り値
成功した場合にクロップ後の画像リソースを返します。失敗した場合に FALSE を返します。
クロップする箇所がなかった場合やすべてクロップされてしまった場合は、処理が失敗したものとみなされます。
この場合は、imagecrop() は FALSE を返します。
例
例1 自動クロップの適切な処理
返り値のところで説明したとおり、何もクロップしなかった場合や全部クロップしてしまったときに
imagecropauto() が返す値は FALSE となります。
この例では、クロップする部分がある場合にだけ画像リソース
$im を自動クロップします。
それ以外の場合は、元の画像をそのまま使います。
<?php
$cropped = imagecropauto($im, IMG_CROP_DEFAULT);
if ($cropped !== false) { // 新しい画像リソースが戻された場合にだけ
imagedestroy($im); // 元の画像を破棄して
$im = $cropped; // クロップ後の画像を $im に代入します
}
?>
参考
- imagecrop() - 指定した矩形に画像をクロップする