El problema de la baja calidad es ocasionado y visible cuando trabajas con imagenes de +256 colores .. pues, las funciones que usa en dicho script (aparte del rátio de compresión JPG que usa) todo lo que genera "sale" a 256 colores max. independientemente de la profundidad de color que tenga la imagen origen.
Si tienes las librerias GD versión 2.x en adelante instalado .. puedes usar las funciones "true color" de esa versión (en las versiones 1.x no están disponibles).
En este mensaje se comenta algo el tema .. fijate que en si usas GD 2 puedes usar:
ImageCreateTrueColor() en lugar de imagecreate() y otra función más ...
http://www.forosdelweb.com/showthrea...hreadid=127775
Un saludo,