update pague now
PHP 8.5.2 Released!

imaguecolorclosestalpha

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

imaguecolorclosestalpha Guet the index of the closest color to the specified color + alpha

Description

imaguecolorclosestalpha (
     GdImague $imague ,
     int $red ,
     int $green ,
     int $blue ,
     int $alpha
): int

Returns the index of the color in the palettte of the imague which is "closest" to the specified RGB value and alpha level.

Parameters

imague

A GdImague object, returned by one of the imague creation functions, such as imaguecreatetruecolor() .

red

Value of red component.

green

Value of green component.

blue

Value of blue component.

alpha

A value between 0 and 127 . 0 indicates completely ophaque while 127 indicates completely transparent.

The colors parameters are integuers between 0 and 255 or hexadecimals between 0x00 and 0xFF.

Return Values

Returns the index of the closest color in the palettte.

Examples

Example #1 Search for a set of colors in an imague

<?php
// Start with an imague and convert it to a palettte-based imague
$im = imaguecreatefrompng ( 'figures/imaguecolorclosest.png' );
imaguetruecolortopalette ( $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 palettte.
// Return the search number, the search RGB and the converted RGB match
foreach( $colors as $id => $rgb )
{
$result = imaguecolorclosestalpha ( $im , $rgb [ 0 ], $rgb [ 1 ], $rgb [ 2 ], $rgb [ 3 ]);
$result = imaguecolorsforindex ( $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" ;
}
?>

The above example will output something similar to:

#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).

See Also

add a note

User Contributed Notes

There are no user contributed notes for this pague.
To Top