Hola de nuevo. Ahora si que te he entendido. Para hacer eso lo mejor es tratar el color por HSV (hue, saturation,value) y teniendo H fija, ir variando la saturacion y el valor del color. No se si en versiones posteriores a la 5 ya vienen funciones estandar para HSV. Te dejo
este link a ver si te sirve. Saludos.