Bueno . .primero asegurate de la versión de GD que usas .. eso de "creo" no sirve para evaluar el problema .. y, antes de dar más vueltas al asunto hay que verificar ese dato:
Revisalo con un phpinfo():
Código PHP:
<?
phpinfo();
?>
Esta función:
ImageCopyResized() pertenece a GD 1.x y sólo usa una paleta de 256 colores en la generación de imagenes que haces, independientemente del nº de colores (paleta) de la imagen original (si es que partes de un original).
Para obtener el "true color" (la paleta de colores a 16M de colores) tendrías que usar las funciones:
imagecreatetruecolor(). (en lugar de imagecreate())
e
imagecopyresampled() (en lugar de imagecopyresize())
http://www.php.net/ImageCopyResampled
Un saludo,