Objetivo-C RGB a HSB

Digamos que tengo el color FF0000, que es rojo. Encontrar un color más oscuro es fácil, simplemente escribo quizás CC en lugar de FF, pero digamos que tengo el color AE83FC, que es un color complicado, ¿cómo diablos encontraría una versión más clara o más oscura de forma automática?

Pensé que la manera fácil de hacer esto es convertir mi RGB a HSB [Tono, Saturación, Brillo]

¿Cómo haría eso en Objective-C?

Digamos que tengo un RGB que es: 1.0, 0.0, 0.0. Eso es rojo

CGFloat r = 1.0;
CGFloat g = 0.0;
CGfloat b = 0.0;

¿Cómo convertiría eso a HSB y luego transformar los colores y hacer que regrese a RGB para poder usar CGContextRGBSetFillColor?

¿Hay alguna función HSB?

Por favor ayuda. :)

Respuestas a la pregunta(2)

Su respuesta a la pregunta