Comment générer automatiquement N couleurs « distinctes » ?
La question pose le défi de créer N couleurs visuellement distinctes. Bien que les fonctions linéaires par morceaux sur le cube RVB puissent générer des couleurs, elles ne sont pas toujours sensiblement différentes. D'autres méthodes incluent la division du cube RVB en un réseau et des points d'échantillonnage.
Cependant, les solutions fournies ne sont toujours pas optimales.
N arbitraire
- "Affichages couleur pour images catégorielles" propose une solution téléchargeable gratuitement.
- "UN SERVICE WEB POUR PERSONNALISER LA COULEUR DES CARTES" propose une solution de webservice qui sera bientôt disponible.
- "Un L'algorithme pour la sélection d'ensembles de couleurs à contraste élevé" fournit une implémentation C gratuite.
- "Ensembles de couleurs à contraste élevé" présente le premier algorithme permettant de résoudre ce problème.
N est fini et relativement petit
Étant donné un petit N, pensez à utiliser des listes de couleurs prédéfinies :
- Liste de Boynton de 11 couleurs presque jamais confondues
- Les 22 couleurs de contraste maximal de Kelly
- Une liste créée par un étudiant du MIT
Les articles mentionnés proposent également des outils utiles pour la conversion entre les systèmes de couleurs :
- Théorie des couleurs : Comment convertir Munsell HVC en RVB/HSB/HSL
- http://chem8.org/uch/space-55036-do-blog-id-5333.html
- https://metacpan.org/pod/Color::Library::Dictionary::NBS_ISCC
Implémentations de code de listes de couleurs prédéfinies en C# :
- Ensemble de contraste Max de Kelly
- Boynton's optimisé
Couleurs prédéfinies en hexadécimal et 8 bits par canal :
- Implémentation Python des couleurs de Kelly
- Implémentation JavaFX des couleurs de Kelly
Conseils supplémentaires :
- N'oubliez pas de trier les couleurs basé sur la teinte pour garantir une distinction maximale.
- Évitez les couleurs dans les listes de Boynton et Kelly pour les personnes ayant une vision des couleurs défectueuse.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!
Déclaration:Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn