imagecolorclosestalpha()
(PHP 4 >= 4.0.6, PHP 5, PHP 7)
取得与指定的颜色加透明度最接近的颜色
说明
imagecolorclosestalpha(resource $image,int $red,int $green,int $blue,int $alpha): int
返回图像调色板中与指定的RGB值以及$alpha深度最“接近”的颜色。
参数
- $image
由图象创建函数(例如imagecreatetruecolor())返回的图象资源。
- $red
红色成分的值。
- $green
绿色成分的值。
- $blue
蓝色成分的值。
- $alpha
A value between0and127.0indicates completely opaque while127indicates completely transparent.
返回值
Returns the index of the closest color in the palette.
范例
Search for a set of colors in an image
<?php // Start with an image and convert it to a palette-based image $im = imagecreatefrompng('figures/imagecolorclosest.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.\n"; } imagedestroy($im); ?>
以上例程的输出类似于:
#0: Search (254, 145, 154, 50); Closest match: (252, 150, 148, 0). #1: Search (153, 145, 188, 127); Closest match: (148, 150, 196, 0). #2: Search (153, 90, 145, 0); Closest match: (148, 90, 156, 0). #3: Search (255, 137, 92, 84); Closest match: (252, 150, 92, 0).
注释
Note:此函数需要 GD 2.0.1 或更高版本(推荐 2.0.28 及更高版本)。
参见
imagecolorexactalpha()
取得指定的颜色加透明度的索引值imagecolorclosest()
取得与指定的颜色最接近的颜色的索引值imagecolorclosesthwb()
取得与给定颜色最接近的色度的黑白色的索引