private function getColor($gd, &$pixels, $x, $y)
{
if (isset($pixels[$x][$y])) {
return $pixels[$x][$y];
}
$color = imagecolorat($gd, $x, $y);
$r = $color >> 16 & 0xff;
$g = $color >> 8 & 0xff;
$b = $color & 0xff;
return $pixels[$x][$y] = round($r * 0.3 + $g * 0.59 + $b * 0.11);
// gray
}