Objective-c: Comment créer différentes nuances d'une couleur

Y at-il un algorithm qui va créer des nuances différentes pour une valeur hexadécimale ou RVB donnée? J'ai essayé avec l'alpha augmentant et diminuant mais il ne regarde pas bien avec des colors légères (ex: couleur blanche).

entrez la description de l'image ici

La meilleure façon d'y parvenir est d'utiliser l'espace colorimésortingque HSB.

C'est comme ça que j'ai fait la partie gauche du keyboard dans ma dernière application …

entrez la description de l'image ici

La "nuance" de la couleur est la valeur H et la valeur S Vous pouvez ensuite changer la luminosité de celui-ci en ajustant la valeur de B

Donc, si vous aviez une couleur comme …

HSB – 0,5, 0,9, 0,9 – bleu très clair

Vous pouvez créer des nuances plus sombres en changeant la valeur B …

HSB – 0,5, 0,9, 0,3 – bleu foncé de la même nuance.

Créer des colors HSB comme …

 UIColor *color = [UIColor colorWithHue:0.5 saturation:0.9 brightness:0.4 alpha:1.0]; 

Dans mon application, j'avais une "luminosité la plus légère" et une "luminosité la plus sombre".

Le je ai élaboré le changement de luminosité pour chaque section en divisant la différence entre eux par le nombre de sections.

En utilisant une boucle for , j'ai pu créer facilement les différentes colors de section.