J'essaie d'obtenir une couleur aléatoire. Je l'ai fait à l'aide de la force brute, mais cette méthode semble trop laborieuse (bien que la distribution soit jolie): Comment peut-on être améliorée? Je veux une répartition uniforme de rouge, de vert et de bleu et rien de trop sombre (sinon je saisirais trois nombres aléatoires et être fait avec elle). P> P>
3 Réponses :
Cette méthode pourrait vous aider à générer rapidement des couleurs vives au hasard:
J'aurais probablement générer des nombres aléatoires (pseudo-) pour la teinte, la saturation et la légèreté (ou HSB), avec la légèreté (ou la luminosité) limitée à la plage que vous trouvez raisonnable, puis Convertissez-le à RVB . P>
+ (UIColor *)colorWithHue:(CGFloat)hue saturation:(CGFloat)saturation brightness:(CGFloat)brightness alpha:(CGFloat)alpha; CGFloat hue = ( arc4random() % 256 / 256.0 ); // 0.0 to 1.0 CGFloat saturation = ( arc4random() % 128 / 256.0 ) + 0.5; // 0.5 to 1.0, away from white CGFloat brightness = ( arc4random() % 128 / 256.0 ) + 0.5; // 0.5 to 1.0, away from black If white is ok then do saturation like hue instead of brightness.