imagecolorclosesthwb
GET the index of the color which has the hue, white and blackness nearest the given color.
This function get the index of an specific pixel color $image..
$image symbolized by a identifier returned by one of the image creation functions, such as imagecreate or imagecreatetruecolor.
0 ≤ $red ≤ 255 = 0x00 ≤ $red ≤ 0xff = 0x00 ≤ $red ≤ 0xFF
0 ≤ $green ≤ 255 = 0x00 ≤ $green ≤ 0xff = 0x00 ≤ $green ≤ 0xFF
0 ≤ $blue ≤ 255 = 0x00 ≤ $blue ≤ 0xff= 0x00 ≤ $blue ≤ 0xFF
This function is available on Windows since PHP 5.3.0.
HWB
is short for HUE + WHITENESS + BLACKNESS.
HUE
controls the color description in the visible spectrum.
WHITENESS or SATURATION
defines the degree of bleaching of a color.
BLACKNESS
defines the degree of darkening of a color.
<?php
int imagecolorclosesthwb ( GdImage $image,
int $red,
int $green,
int $blue )
where,
$image = The image identifier
$red = The value of red component color
$green = The value of green component color
$blue = The value of blue component color
?>
$image
The image identifier.
$red
The value of red component of color.
$green
The value of green component of color.
$blue
The value of blue component of color.
EXERCISE
<?php
// RUN this code several times
echo 'PHP VERSION: ' . PHP_VERSION . '<br><br>';
$lang = 'en';
$org_file01 = "png/PNG 038 01 Asklepion-Pergamo.png";
$palsrc01 = "png/PNG 038 01 Asklepion-Pergamo-t.png";
$palfnd01 = "png/PNG 038 01 Asklepion-Pergamo-c.png";
$palcolorndx01 = mt_rand(122222, 13999988);
if(file_exists($org_file01))
{
echo $org_file01; ?><br><br>
<img src="<?php echo $org_file01; ?>"
alt="<?php echo $org_file01; ?>"
title="TRUECOLOR IMAGE" width="400"><br><br>
<?php
$imaskl01 = imagecreatefrompng ($org_file01);
$palndxcolor01 =
imagecolorsforindex ($imaskl01, $palcolorndx01);
$red01 = $palndxcolor01['red'];
$green01 = $palndxcolor01['green'];
$blue01 = $palndxcolor01['blue'];
$pt = 'Índice da Paleta: ' . $palcolorndx01 . '<br>Cor: ';
$en = 'Palette Index: ' . $palcolorndx01 . '<br> Color: ';
echo $palsrc01 .'<br><br>';
$RGBsrc01 = 'RGB ( ' . $red01 . ', ' . $green01 . ', ' . $blue01 . ' )';
echo '' . $$lang . $RGBsrc01 . '<br>';
$imtaskl01 = imagecreate (imagesx($imaskl01),60);
imagecolorallocate($imtaskl01, $red01, $green01, $blue01);
imagepng($imtaskl01, $palsrc01);
?> <br>
<img src="<?php echo $palsrc01; ?>"
alt="<?php echo $palsrc01; ?>"
title="<?php echo $palsrc01; ?>" width="400"><br><br>
<?php
$hwb_color_ndx01 =
imagecolorclosesthwb ($imaskl01, $red01,
$green01,
$blue01);
$palndxhbdcolor01 =
imagecolorsforindex ($imaskl01, $hwb_color_ndx01);
$hwbred01 = $palndxhbdcolor01['red'];
$hwbgreen01 = $palndxhbdcolor01['green'];
$hwbblue01 = $palndxhbdcolor01['blue'];
$pt = 'Índice HWB da Paleta: ' . $hwb_color_ndx01 . '<br>Cor: ';
$en = 'HWB Palette Index: ' . $hwb_color_ndx01 . '<br>Color: ';
$RGBhwb01 = 'RGB ( ' . $hwbred01 . ', ' .
$hwbgreen01 . ', ' . $hwbblue01 . ' )';
echo $palfnd01 . '<br><br>';
echo '' . $$lang . $RGBhwb01 . '<br>';
$imcaskl01 = imagecreate (imagesx($imaskl01),60);
imagecolorallocate($imcaskl01, $hwbred01,
$hwbgreen01,
$hwbblue01);
imagepng($imcaskl01, $palfnd01);
?>
<br>
<img src="<?php echo $palfnd01; ?>"
alt="<?php echo $palfnd01; ?>"
title="<?php echo $palfnd01; ?>" width="400"><br><br>
<?php
}
else
{
$pt = 'Imagem não disponível';
$en = 'Image not available';
echo '' . $$lang . '';
}
?>
RESULT PNG 038 01 Asklepion-Pergamo.pngEXISTING TRUECOLOR IMAGEEvery new execution a new result can be obtained.
DO THE TEST YOURSELF.
EXERCISE
<?php
// RUN this code several times
echo 'PHP VERSION: ' . PHP_VERSION . '<br><br>';
// $lang = 'pt';
$lang = 'en';
$org_file02 = "gif/GIF 019 02 Asklepion-Pergamo.gif";
$palsrc02 = "gif/GIF 019 02 Asklepion-Pergamo-t.gif";
$palfnd02 = "gif/GIF 019 02 Asklepion-Pergamo-c.gif";
$palcolorndx02 = mt_rand(10, 170);
if(file_exists($org_file02))
{
echo $org_file02; ?><br><br>
<img src="<?php echo $org_file02; ?>"
alt="<?php echo $org_file02; ?>" title="PALETTE IMAGE" width="400"><br><br>
<?php
$imaskl02 = imagecreatefromgif ($org_file02);
$palndxcolor02 =
imagecolorsforindex ($imaskl02, $palcolorndx02);
$red02 = mt_rand(1, 255);
$green02 = mt_rand(1, 255);
$blue02 = mt_rand(1, 255);
$pt = 'Índice da Paleta: ' . $palcolorndx02 . '<br>Cor: ';
$en = 'Palette Index: ' . $palcolorndx02 . '<br> Color: ';
echo $palsrc02 .'<br><br>';
$RGBsrc02 = 'RGB ( ' . $red02 . ', ' .
$green02 . ', ' .
$blue02 . ' )';
echo '' . $$lang . $RGBsrc02 . '<br>';
$imtaskl02 = imagecreate (imagesx($imaskl02),60);
imagecolorallocate($imtaskl02, $red02,
$green02,
$blue02);
imagegif($imtaskl02, $palsrc02);
?>
<br>
<img src="<?php echo $palsrc02; ?>"
alt="<?php echo $palsrc02; ?>"
title="<?php echo $palsrc02; ?>" width="400"><br><br>
<?php
$hwb_color_ndx02 =
imagecolorclosesthwb ($imaskl02, $red02,
$green02,
$blue02);
$palndxhbdcolor02 =
imagecolorsforindex ($imaskl02, $hwb_color_ndx02);
$hwbred02 = $palndxhbdcolor02['red'];
$hwbgreen02 = $palndxhbdcolor02['green'];
$hwbblue02 = $palndxhbdcolor02['blue'];
$pt = 'Índice HWB da Paleta: ' . $hwb_color_ndx02 . '<br>Cor: ';
$en = 'HWB Palette Index: ' . $hwb_color_ndx02 . '<br>Color: ';
$RGBhwb02 = 'RGB ( ' . $hwbred02 . ', ' .
$hwbgreen02 . ', ' . $hwbblue02 . ' )';
echo $palfnd02 . '<br><br>';
echo '' . $$lang . $RGBhwb02 . '<br>';
$imcaskl02 = imagecreate (imagesx($imaskl02),60);
imagecolorallocate($imcaskl02,
$hwbred02,
$hwbgreen02, $hwbblue02);
imagegif($imcaskl02, $palfnd02);
?>
<br>
<img src="<?php echo $palfnd02; ?>"
alt="<?php echo $palfnd02; ?>"
title="<?php echo $palfnd02; ?>" width="400"><br><br>
<?php
}
else
{
$pt = 'Imagem não disponível';
$en = 'Image not available';
echo '' . $$lang . '';
}
?>
RESULT GIF 019 02 Asklepion-Pergamo.gifEXISTING PALETTE IMAGEEvery new execution a new result can be obtained.
DO THE TEST YOURSELF.