HomeMenu
Jesus · Bible · HTML · CSS · JS · PHP · SVG · Applications

imagecropauto

Description

The imagecropauto of Image for PHP crop an image automatically using one of the available modes.

Syntax

imagecropauto(
    GdImage $image,
    int $mode = IMG_CROP_DEFAULT,
    float $threshold = 0.5,
    int $color = -1
): GdImage|false

Parameters

image

A GdImage object, returned by one of the image creation functions, such as imagecreatetruecolor().

mode

One of the following constants:

ConstantDescription
IMG_CROP_DEFAULTSame as IMG_CROP_TRANSPARENT.
IMG_CROP_TRANSPARENTCrops out a transparent background.
IMG_CROP_BLACKCrops out a black background.
IMG_CROP_WHITECrops out a white background.
IMG_CROP_SIDESUses the 4 corners of the image to attempt to detect the background to crop.
IMG_CROP_THRESHOLDCrops an image using the given threshold and color.

threshold

Specifies the tolerance in percent to be used while comparing the image color and the color to crop. The method used to calculate the color difference is based on the color distance in the RGB(a) cube.

Used only in IMG_CROP_THRESHOLD mode.

color

Either an RGB color value or a palette index.

Used only in IMG_CROP_THRESHOLD mode.

Return

Returns a cropped image object on success or false on failure. If the complete image was cropped, imagecrop() returns false.

Examples

1 · return

<?

$width = 100;
$height = 100;
$image = imagecreatetruecolor($width, $height);

$return = imagecropauto($image);

var_dump($return);
object(GdImage)#2 (0) {
}

2 · base64 · image

<?

$width = 100;
$height = 100;
$image = imagecreatetruecolor($width, $height);

$red = 0;
$green = 0;
$blue = 0;
$color = imagecolorallocate($image, $red, $green, $blue);

imagecolortransparent($image, $color);

$x = 0;
$y = 0;
imagefill($image, $x, $y, $color);

$red = 128;
$green = 128;
$blue = 128;
$color = imagecolorallocate($image, $red, $green, $blue);

$center_x = 50;
$center_y = 50;
$width = 50;
$height = 100;
imagefilledellipse($image, $center_x, $center_y, $width, $height, $color);

$image = imagecropauto($image);

ob_start();

    imagepng($image);

$output = ob_get_clean();

echo '<!doctype html>
<html>
<body>
    <img src="data:image/png;base64,' . base64_encode($output) . '">
</body>
</html>';
<!doctype html>
<html>
<body>
    <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADMAAABkCAIAAACkSJ8yAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABQklEQVRoge2b0Y7CMAwEW748n85DEEhAG0+ctptq5xHJ9miTO4k7Z13SlFKCHyLWTHFzfMav0wyN7PPrMeuY1FGCzboPiBYys+S9RuXALP/jhppEzYZooVYhs4Fa8YZts+FawbYNs4O0Is0fxw1OspfZoYE1R2yanaC1P2i20zwtsJ1xU2V2cmBbQ3Uz0zX7Ps1LjvLv6EkyuzCwXwHdzHTNPqd5+VFW3hq6mdmM87pnIpesUmV0M7MZR9dsXcSuf6WUopuZzTg24+iarYK/Miq6mdmMYzOOzTg249iMYzOOzTg24+ia+Ts6x2Ycm3F0zfy3bY7NOLpm/i8ix2Yc7x5wdM28fcPx/hlH18wbmBxv+nIm3NtuVua54xZ+RfRNRbALZcw7lHivsa3mf+9E++bL7/Kurm9GX8m93m/GR2bu5ROMDHch+IoYzgAAAABJRU5ErkJggg==">
</body>
</html>

3 · base64 · mode · IMG_CROP_DEFAULT

<?

$width = 100;
$height = 100;
$image = imagecreatetruecolor($width, $height);

$red = 0;
$green = 0;
$blue = 0;
$color = imagecolorallocate($image, $red, $green, $blue);

imagecolortransparent($image, $color);

$x = 0;
$y = 0;
imagefill($image, $x, $y, $color);

$red = 128;
$green = 128;
$blue = 128;
$color = imagecolorallocate($image, $red, $green, $blue);

$center_x = 50;
$center_y = 50;
$width = 50;
$height = 100;
imagefilledellipse($image, $center_x, $center_y, $width, $height, $color);

$mode = IMG_CROP_DEFAULT;
$image = imagecropauto($image, $mode);

ob_start();

    imagepng($image);

$output = ob_get_clean();

echo '<!doctype html>
<html>
<body>
    <img src="data:image/png;base64,' . base64_encode($output) . '">
</body>
</html>';
<!doctype html>
<html>
<body>
    <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADMAAABkCAIAAACkSJ8yAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABQklEQVRoge2b0Y7CMAwEW748n85DEEhAG0+ctptq5xHJ9miTO4k7Z13SlFKCHyLWTHFzfMav0wyN7PPrMeuY1FGCzboPiBYys+S9RuXALP/jhppEzYZooVYhs4Fa8YZts+FawbYNs4O0Is0fxw1OspfZoYE1R2yanaC1P2i20zwtsJ1xU2V2cmBbQ3Uz0zX7Ps1LjvLv6EkyuzCwXwHdzHTNPqd5+VFW3hq6mdmM87pnIpesUmV0M7MZR9dsXcSuf6WUopuZzTg24+iarYK/Miq6mdmMYzOOzTg249iMYzOOzTg24+ia+Ts6x2Ycm3F0zfy3bY7NOLpm/i8ix2Yc7x5wdM28fcPx/hlH18wbmBxv+nIm3NtuVua54xZ+RfRNRbALZcw7lHivsa3mf+9E++bL7/Kurm9GX8m93m/GR2bu5ROMDHch+IoYzgAAAABJRU5ErkJggg==">
</body>
</html>

4 · base64 · mode · IMG_CROP_TRANSPARENT

<?

$width = 100;
$height = 100;
$image = imagecreatetruecolor($width, $height);

$red = 0;
$green = 0;
$blue = 0;
$color = imagecolorallocate($image, $red, $green, $blue);

imagecolortransparent($image, $color);

$x = 0;
$y = 0;
imagefill($image, $x, $y, $color);

$red = 128;
$green = 128;
$blue = 128;
$color = imagecolorallocate($image, $red, $green, $blue);

$center_x = 50;
$center_y = 50;
$width = 50;
$height = 100;
imagefilledellipse($image, $center_x, $center_y, $width, $height, $color);

$mode = IMG_CROP_TRANSPARENT;
$image = imagecropauto($image, $mode);

ob_start();

    imagepng($image);

$output = ob_get_clean();

echo '<!doctype html>
<html>
<body>
    <img src="data:image/png;base64,' . base64_encode($output) . '">
</body>
</html>';
<!doctype html>
<html>
<body>
    <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADMAAABkCAIAAACkSJ8yAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABQklEQVRoge2b0Y7CMAwEW748n85DEEhAG0+ctptq5xHJ9miTO4k7Z13SlFKCHyLWTHFzfMav0wyN7PPrMeuY1FGCzboPiBYys+S9RuXALP/jhppEzYZooVYhs4Fa8YZts+FawbYNs4O0Is0fxw1OspfZoYE1R2yanaC1P2i20zwtsJ1xU2V2cmBbQ3Uz0zX7Ps1LjvLv6EkyuzCwXwHdzHTNPqd5+VFW3hq6mdmM87pnIpesUmV0M7MZR9dsXcSuf6WUopuZzTg24+iarYK/Miq6mdmMYzOOzTg249iMYzOOzTg24+ia+Ts6x2Ycm3F0zfy3bY7NOLpm/i8ix2Yc7x5wdM28fcPx/hlH18wbmBxv+nIm3NtuVua54xZ+RfRNRbALZcw7lHivsa3mf+9E++bL7/Kurm9GX8m93m/GR2bu5ROMDHch+IoYzgAAAABJRU5ErkJggg==">
</body>
</html>

5 · base64 · mode · IMG_CROP_BLACK

<?

$width = 100;
$height = 100;
$image = imagecreatetruecolor($width, $height);

$red = 128;
$green = 128;
$blue = 128;
$color = imagecolorallocate($image, $red, $green, $blue);

$center_x = 50;
$center_y = 50;
$width = 50;
$height = 100;
imagefilledellipse($image, $center_x, $center_y, $width, $height, $color);

$mode = IMG_CROP_BLACK;
$image = imagecropauto($image, $mode);

ob_start();

    imagepng($image);

$output = ob_get_clean();

echo '<!doctype html>
<html>
<body>
    <img src="data:image/png;base64,' . base64_encode($output) . '">
</body>
</html>';
<!doctype html>
<html>
<body>
    <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADMAAABkCAIAAACkSJ8yAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABQklEQVRoge2b0Y7CMAwEW748n85DEEhAG0+ctptq5xHJ9miTO4k7Z13SlFKCHyLWTHFzfMav0wyN7PPrMeuY1FGCzboPiBYys+S9RuXALP/jhppEzYZooVYhs4Fa8YZts+FawbYNs4O0Is0fxw1OspfZoYE1R2yanaC1P2i20zwtsJ1xU2V2cmBbQ3Uz0zX7Ps1LjvLv6EkyuzCwXwHdzHTNPqd5+VFW3hq6mdmM87pnIpesUmV0M7MZR9dsXcSuf6WUopuZzTg24+iarYK/Miq6mdmMYzOOzTg249iMYzOOzTg24+ia+Ts6x2Ycm3F0zfy3bY7NOLpm/i8ix2Yc7x5wdM28fcPx/hlH18wbmBxv+nIm3NtuVua54xZ+RfRNRbALZcw7lHivsa3mf+9E++bL7/Kurm9GX8m93m/GR2bu5ROMDHch+IoYzgAAAABJRU5ErkJggg==">
</body>
</html>

6 · base64 · mode · IMG_CROP_WHITE

<?

$width = 100;
$height = 100;
$image = imagecreatetruecolor($width, $height);

$red = 255;
$green = 255;
$blue = 255;
$color = imagecolorallocate($image, $red, $green, $blue);

$x = 0;
$y = 0;
imagefill($image, $x, $y, $color);

$red = 128;
$green = 128;
$blue = 128;
$color = imagecolorallocate($image, $red, $green, $blue);

$center_x = 50;
$center_y = 50;
$width = 50;
$height = 100;
imagefilledellipse($image, $center_x, $center_y, $width, $height, $color);

$mode = IMG_CROP_WHITE;
$image = imagecropauto($image, $mode);

ob_start();

    imagepng($image);

$output = ob_get_clean();

echo '<!doctype html>
<html>
<body>
    <img src="data:image/png;base64,' . base64_encode($output) . '">
</body>
</html>';
<!doctype html>
<html>
<body>
    <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADMAAABkCAIAAACkSJ8yAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABiElEQVRoge2bS47DIBBEwXNw5KP5ZM6CUeLEGKjmVy31W0ah+qUArxx/nqdrY9/3+4chhMZY32KWdLrS4ic0KzpdkfltgjWQluD7EdhMNkawCjOTacnWAmYtWoKEWrN2LTSnyqyXFpRWNuurVZ9ZMBuhVZkseZ7NIWc2rrCa/Eez0VrFKdp2c05h+VmqOptZWGaiqs5I+DWbv5VPc5V0tqqw5HQlnVHxMVu7lXcHDZ2xQW/GcMgibxP6zggxM5zNMR3/SPTh7owTM8MxM5w/7/1qhwTHcfB2ZmY4ZoZjZjhmhmNmOGaGY2Y4ZoZDbNb+As8IQgjEna0WeMTMcMwMZ3M93vzrS/Th7owTM8P5N+O5BG8T+s4I0WDGcNSuDho6Y+PLbO2G/kxX0plbV9t9rp7OeEiYzd/Q5ERVnbm5tT3N0taZm1VbZkqus9Fy+XyFuxkZV1sxudzZCLmazKrd7CtXmVZ7znrJ1ecAN6BdDkrA7maLHLoWfmrI5ASrJM8zdIzsx/D+5/UFQy6D+pEYC7cAAAAASUVORK5CYII=">
</body>
</html>

7 · base64 · mode · IMG_CROP_SIDES

<?

$width = 100;
$height = 100;
$image = imagecreatetruecolor($width, $height);

$red = 255;
$green = 0;
$blue = 0;
$color = imagecolorallocate($image, $red, $green, $blue);

$x = 0;
$y = 0;
imagefill($image, $x, $y, $color);

$red = 128;
$green = 128;
$blue = 128;
$color = imagecolorallocate($image, $red, $green, $blue);

$center_x = 50;
$center_y = 50;
$width = 50;
$height = 100;
imagefilledellipse($image, $center_x, $center_y, $width, $height, $color);

$mode = IMG_CROP_SIDES;
$image = imagecropauto($image, $mode);

ob_start();

    imagepng($image);

$output = ob_get_clean();

echo '<!doctype html>
<html>
<body>
    <img src="data:image/png;base64,' . base64_encode($output) . '">
</body>
</html>';
<!doctype html>
<html>
<body>
    <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADMAAABkCAIAAACkSJ8yAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABfklEQVRoge2by5LDIAwEsX8c8uWbA1veZI1BI16jKvXRFaTOCHOIneMn9PJK6X4xli5CHD1mRadPevyUZk2nT3R+p2INpKX4fAY207VRrMLMdFq6tYBZj5aigtSsXwutIzIbpQVVa5uN1ZLXbJjN0BJW1pxna6iZzQtMUv/RbLZWs4u1aa4JrN7LVGYrA6t0NJUZCf/N1o/yqa+RzHYFVuxuJDMq/sz2jvLuYCEzNujNGDZZ5jKhz4wQN8M5A9P2z2Qf7sw4cTMcN8M5EtmRccGbmZvhuBmOm+G4GY6b4bgZjpvhuBkOsVn/CzwziCkRZ7Zb4BE3w3EznDOMePNvLNF/2VPiZji/Zjw3QfSnO3osmDFstehPq7v4Mts70Gj1TZJdsd372smMh4LZ+oEWO5rKLKyN7amXtczCqtgqXWqZzZar1zc4zcy82JqV25nNkJPUFE1zrJywmnSfjZKT1wHugH45qAJ2b/bIoWvhU0Mnp1ilOc/QNrovw/uf1zdxhXs+gnpmmQAAAABJRU5ErkJggg==">
</body>
</html>

8 · base64 · mode · IMG_CROP_THRESHOLD · threshold color

<?

$width = 100;
$height = 100;
$image = imagecreatetruecolor($width, $height);

$red = 255;
$green = 0;
$blue = 0;
$color = imagecolorallocate($image, $red, $green, $blue);

$x = 0;
$y = 0;
imagefill($image, $x, $y, $color);

$red = 128;
$green = 128;
$blue = 128;
$color = imagecolorallocate($image, $red, $green, $blue);

$center_x = 50;
$center_y = 50;
$width = 50;
$height = 100;
imagefilledellipse($image, $center_x, $center_y, $width, $height, $color);

$red = 255;
$green = 32;
$blue = 0;
$color = imagecolorallocate($image, $red, $green, $blue);

$mode = IMG_CROP_THRESHOLD;
$threshold = 1.0;
$image = imagecropauto($image, $mode, $threshold, $color);

ob_start();

    imagepng($image);

$output = ob_get_clean();

echo '<!doctype html>
<html>
<body>
    <img src="data:image/png;base64,' . base64_encode($output) . '">
</body>
</html>';
<!doctype html>
<html>
<body>
    <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADMAAABkCAIAAACkSJ8yAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABfklEQVRoge2by5LDIAwEsX8c8uWbA1veZI1BI16jKvXRFaTOCHOIneMn9PJK6X4xli5CHD1mRadPevyUZk2nT3R+p2INpKX4fAY207VRrMLMdFq6tYBZj5aigtSsXwutIzIbpQVVa5uN1ZLXbJjN0BJW1pxna6iZzQtMUv/RbLZWs4u1aa4JrN7LVGYrA6t0NJUZCf/N1o/yqa+RzHYFVuxuJDMq/sz2jvLuYCEzNujNGDZZ5jKhz4wQN8M5A9P2z2Qf7sw4cTMcN8M5EtmRccGbmZvhuBmOm+G4GY6b4bgZjpvhuBkOsVn/CzwziCkRZ7Zb4BE3w3EznDOMePNvLNF/2VPiZji/Zjw3QfSnO3osmDFstehPq7v4Mts70Gj1TZJdsd372smMh4LZ+oEWO5rKLKyN7amXtczCqtgqXWqZzZar1zc4zcy82JqV25nNkJPUFE1zrJywmnSfjZKT1wHugH45qAJ2b/bIoWvhU0Mnp1ilOc/QNrovw/uf1zdxhXs+gnpmmQAAAABJRU5ErkJggg==">
</body>
</html>