PHP imagecolorclosestalpha 图像GD库函数

  • 定义和用法

    imagecolorclosestalpha - 取得与指定的颜色加透明度最接近的颜色
  • 版本支持

    PHP4 PHP5 PHP7
    支持 支持 支持
  • 语法

    imagecolorclosestalpha ( resource $image , int $red , int $green , int $blue , int $alpha )
    
    返回图像调色板中与指定的 RGB 值以及 alpha 深度最“接近”的颜色。
  • 参数

    参数 必需的 描述
    image 由图象创建函数(例如imagecreatetruecolor())返回的图象资源。
    red
    green 绿
    blue
    alpha 介于0和127之间的值。0表示完全不透明,而127表示完全透明。 colors参数是0到255之间的整数或0x00到0xFF之间的十六进制。
  • 返回值

    返回调色板中最接近的颜色的索引。
  • 示例

    // Start with an image and convert it to a palette-based image
    $im = imagecreatefrompng('ajax.png');
    imagetruecolortopalette($im, false, 255);
    
    // Search colors (RGB)
    $colors = array(
            array(254, 145, 154, 50),
            array(153, 145, 188, 127),
            array(153, 90, 145, 0),
            array(255, 137, 92, 84)
    );
    
    // Loop through each search and find the closest color in the palette.
    // Return the search number, the search RGB and the converted RGB match
    foreach($colors as $id => $rgb)
    {
            $result = imagecolorclosestalpha($im, $rgb[0], $rgb[1], $rgb[2], $rgb[3]);
            $result = imagecolorsforindex($im, $result);
            $result = "({$result['red']}, {$result['green']}, {$result['blue']}, {$result['alpha']})";
    
            echo "#$id: Search ($rgb[0], $rgb[1], $rgb[2], $rgb[3]); Closest match: $result.<br/>";
    }
    
    imagedestroy($im);
    
    以上示例输出:
    
    #0: Search (254, 145, 154, 50); Closest match: (220, 146, 100, 0).
    #1: Search (153, 145, 188, 127); Closest match: (180, 182, 180, 0).
    #2: Search (153, 90, 145, 0); Closest match: (148, 58, 60, 0).
    #3: Search (255, 137, 92, 84); Closest match: (220, 146, 100, 0).       
    
  • 相关函数

    imagecolorexactalpha() - 取得指定的颜色加透明度的索引值
    imagecolorclosest() - 取得与指定的颜色最接近的颜色的索引值
    imagecolorclosesthwb() - 取得与给定颜色最接近的色度的黑白色的索引