PHP imagecropauto 图像GD库函数

  • 定义和用法

    imagecropauto - 使用可用模式之一自动裁剪图像
  • 版本支持

    PHP4 PHP5 PHP7
    不支持 v5.5.0+支持 支持
    7.4.0 - 捆绑的libgd中imagecropauto()的行为已与系统libgd的行为同步:IMG_CROP_DEFAULT不再回落到IMG_CROP_SIDES,阈值裁剪现在使用与系统libgd相同的算法。
    7.4.0 - 模式的默认值已更改为IMG_CROP_AUTO。 以前,默认值是-1,它对应于IMG_CROP_DEFAULT,但是现在不赞成传递-1。
  • 语法

    imagecropauto ( resource $image [, int $mode = IMG_CROP_DEFAULT [, float $threshold = .5 [, int $color = -1 ]]] )
    
    imagecropauto() 根据给定的模式自动裁剪图像。
  • 参数

    参数 必需的 描述
    image 由图象创建函数(例如imagecreatetruecolor())返回的图象资源。
    mode 以下常量之一:
    • IMG_CROP_DEFAULTIMG_CROP_TRANSPARENT相同。 在PHP 7.4.0之前,如果图像没有透明颜色,则捆绑的libgd会退回到IMG_CROP_SIDES
    • IMG_CROP_TRANSPARENT 裁剪出透明背景。
    • IMG_CROP_BLACK 播种黑色背景。
    • IMG_CROP_WHITE 播种白色背景。
    • IMG_CROP_SIDES 使用图像的四个角尝试检测要裁剪的背景。
    • IMG_CROP_THRESHOLD 使用给定的阈值和颜色裁剪图像。
    threshold 指定在比较图像颜色和要裁剪的颜色时要使用的百分比公差。 用于计算色差的方法基于RGB(a)立方体中的色距。 仅在IMG_CROP_THRESHOLD 模式下使用。
    注意:在PHP 7.4.0之前,捆绑的libgd使用的算法有所不同,因此相同的阈值对系统和捆绑的libgd产生不同的结果。
    color RGB颜色值或调色板索引。 仅在IMG_CROP_THRESHOLD模式下使用。
  • 返回值

    成功时返回裁剪的图像资源,或者在失败时返回FALSE。 如果裁剪了整个图像,则imagecrop()返回FALSE。
  • 示例

    $im = imagecreatefrompng('https://www.cainiaoya.com/images/ajax.png');
    $size = min(imagesx($im), imagesy($im));
    $im2 = imagecropauto($im, IMG_CROP_DEFAULT);
    if ($im2 !== FALSE) {
            header('Content-type:image/png');
            imagepng($im2);
            imagedestroy($im2);
    }
    imagedestroy($im);
    
    以上示例输出:
    gd_21
    
  • 相关函数

    imagecrop() - 将图像裁剪为给定的矩形