©
This document uses PHP Chinese website manual Release
(PHP 4 >= 4.0.6, PHP 5, PHP 7)
imagecolorclosestalpha — 取得与指定的颜色加透明度最接近的颜色
$image
, int $red
, int $green
, int $blue
, int $alpha
)
返回图像调色板中与指定的 RGB 值以及
alpha
深度最“接近”的颜色。
image
由图象创建函数(例如 imagecreatetruecolor() )返回的图象资源。
red
红色成分的值。
green
绿色成分的值。
blue
蓝色成分的值。
alpha
A value between 0 and 127. 0 indicates completely opaque while 127 indicates completely transparent.
Returns the index of the closest color in the palette.
Example #1 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 及更高版本)。