Sí:
Mira esta función:
http://es.php.net/manual/es/function.imagefilter.php
Con el filtro IMG_FILTER_COLORIZE es posible :)
El ejemplo que da (pasar a verde!)
Código PHP:
$im = imagecreatefrompng('philip.png');
/* R, G, B, así 0, 255, 0 es verde */
if($im && imagefilter($im, IMG_FILTER_COLORIZE, 0, 255, 0))
{
echo 'Imagen sombreada a verde con éxito.';
imagepng($im, 'philip.png');
imagedestroy($im);
}
else
{
echo 'El sombreado a verde falló.';
}
?>