如何使用 PHP 中的 imagecropauto() 函数自动裁剪图像?

phpserver side programmingprogramming

imagecropauto() 是 PHP 中的内置函数,用于使用其中一种可用模式自动裁剪图像。

语法

resource imagecropauto(resource $image, int $mode, float $threshold, int $color)

参数

imagecropauto() 有四个不同的参数 − $image、$mode、$threshold$color

  • $image − 指定要裁剪的图像资源。

  • $mode − 它是一个可选参数,用于指定与裁剪模式相对应的整数,下面是裁剪模式列表。

    • IMG_CROP_DEFAULT − IMG_CROP_DEFAULT 的工作方式与 IMG_CROP_TRANSPARENT 模式相同。

    • IMG_CROP_TRANSPARENT −此模式用于裁剪透明背景。

    • IMG_CROP_BLACK − 此模式用于裁剪黑色背景。

    • IMG_CROP_WHITE − 此模式用于裁剪白色背景。

    • IMG_CROP_SIDES − 此模式使用图像的四个角尝试检测要裁剪的背景。

    • IMG_CROP_THRESHOLD − 此模式用于使用给定的阈值和颜色裁剪图像。

  • $threshold −可选参数,用于指定在比较图像颜色和要裁剪的颜色时要使用的百分比容差。

  • $color − 可选参数,用于指定 RGB(红色、绿色和蓝色)颜色值或调色板索引。

返回值

imagecropauto() 如果成功则返回裁剪后的图像资源,如果失败则返回 false。如果裁剪的是完整图像,则 imagecrop() 函数返回 false。

示例 1

<?php
   // 从本地驱动器文件夹加载 png 图像
   $img = imagecreatefromjpeg('C:\xampp\htdocs\Images\img33.jpg');

   // 裁剪图像中多余的白色区域
   $cropped = imagecropauto($img,IMG_CROP_WHITE);

   // 将其转换为 gif 文件
   header('Content-type: image/gif');
   imagepng($cropped);
?>

输出

使用 IMG_CROP_WHITE 模式参数之前,图像侧面区域为白色。

使用参数的 IMG_CROP_WHITE 模式后,从侧面裁剪白色区域。

注意 − 我们可以使用给定的不同参数模式来裁剪图像。例如,我们可以使用IMG_CROP_BLACK,它将裁剪图像的黑色部分。


相关文章