", $u, $u, $d) ?> */ function imagelightnessat($img, $x, $y) { if(!is_resource($img)) { trigger_error("imagelightnessat(): supplied argument is not a valid " . "Image resource", E_USER_WARNING); return 0.0; } $c = @imagecolorat($img, $x, $y); if($c === false) return false; if(imageistruecolor($img)) { $red = ($c >> 16) & 0xFF; $green = ($c >> 8) & 0xFF; $blue = $c & 0xFF; } else { $i = imagecolorsforindex($img, $c); $red = $i['red']; $green = $i['green']; $blue = $i['blue']; } $m = min($red, $green, $blue); $n = max($red, $green, $blue); /* Because RGB isn't normalized in GD, we divide by 510 here. * Lightness = (Max(RGB) + Min(RGB)) / 2 * But that's assuming red, green, and blue are 0 through 1 inclusive. * Red, green, and blue are actually 0-255 (255 + 255 = 510). */ $lightness = (double)(($m + $n) / 510.0); return($lightness); } ?>