PHP
downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

imagecolorresolvealpha> <imagecolormatch
Last updated: Fri, 11 Apr 2008

view this page in

imagecolorresolve

(PHP 4, PHP 5)

imagecolorresolve — Devuelve el índice del color especificado o su posible alternativa más cercana

Descripción

int imagecolorresolve ( resource $im , int $red , int $green , int $blue )

Esta función garantiza que se devuelva el índice de color para un color solicitado, ya que devuelve el color exacto o el color alternativo más próximo al color solicitado.

Si se emplea una imagen creada a partir de un archivo, solamente se resuelven los colores usados en la imagen. Los colores que se encuentran exclusivamente en la paleta de la imagen no se resuelven.

Vea también imagecolorclosest().



add a note add a note User Contributed Notes
imagecolorresolve
ceo at l-i-e dot com
03-Jan-2002 12:55
Okay, so sometimes it's really IMPORTANT to get the exact color you want, only it's not *IN* the Image, and ImageColorResolve just isn't "close enough".

The following code is a disgustingly gross hack, rather slow, but it does that.

$colorcount = array();
for ($x = 0; $x < $width; $x++){
    for ($y = 0; $y < $height; $y++){
        $colorindex = imagecolorat($jpg, $x, $y);
        if (!isset($colorcount[$colorindex])){
            $colorcount[$colorindex] = 1;
        }
        else{
            $colorcount[$colorindex]++;
        }
    }
}
asort($colorcount);
reset($colorcount);

$black = imagecolorexact($jpg, 0, 0, 0);
if ($black == -1){
    $goner = key($colorcount);
    $rgb = imagecolorsforindex($jpg, $goner);
    #error_log("Need black: About to kill $goner ($rgb[red], $rgb[green], $rgb[blue]) which was only used in $colorcount[$goner] pixels", 0);
    unset($colorcount[$goner]);
    imagecolordeallocate($jpg, $goner);
    $black = imagecolorallocate($jpg, 0, 0, 0);
}
if ($black == -1){
    $black = imagecolorresolve($jpg, 0, 0, 0);
    #error_log("Damn!  STILL couldn't allocate the color!", 0);
}

imagecolorresolvealpha> <imagecolormatch
Last updated: Fri, 11 Apr 2008
 
 
show source | credits | stats | sitemap | contact | advertising | mirror sites