Maison >Java >javaDidacticiel >Comment puis-je générer un large ensemble de couleurs visuellement distinctes ?
Lors de la génération d'un grand nombre de couleurs, trouver des moyens de garantir qu'elles sont visuellement différentes peut être un défi. L'exploration des approches existantes est essentielle.
Subdivision uniforme du cube RVB :
Cette méthode divise le cube RVB en sections discrètes et sélectionne les couleurs de ces zones. Il peut produire une échelle progressive, mais pour de grands nombres, les couleurs peuvent paraître similaires.
Utilisation de listes prédéfinies :
Les listes de couleurs telles que celles de Boynton ou de Kelly fournissent des couleurs présélectionnées avec contraste élevé, éliminant le besoin d'algorithmes.
Méthodes basées sur des algorithmes :
Divers algorithmes ont été développés pour sélectionner des couleurs distinctes. Ceux-ci incluent :
Conversion en RVB :
Si les couleurs ne sont pas spécifiées au format RVB, vous devrez peut-être les convertir à l'aide de ressources telles que :
Exemples de code :
Code C# pour la liste optimisée de Boynton :
public static readonly List<Color> _boyntonOptimized = new List<Color> { Color.FromArgb(0, 0, 255), //Blue Color.FromArgb(255, 0, 0), //Red Color.FromArgb(0, 255, 0), //Green Color.FromArgb(255, 255, 0), //Yellow Color.FromArgb(255, 0, 255), //Magenta Color.FromArgb(255, 128, 128), //Pink Color.FromArgb(128, 128, 128), //Gray Color.FromArgb(128, 0, 0), //Brown Color.FromArgb(255, 128, 0), //Orange };
Code JavaFX pour les couleurs de Kelly :
private static final Color[] KELLY_COLORS = { Color.web("0xFFB300"), // Vivid Yellow Color.web("0x803E75"), // Strong Purple Color.web("0xFF6800"), // Vivid Orange Color.web("0xA6BDD7"), // Very Light Blue Color.web("0xC10020"), // Vivid Red Color.web("0xCEA262"), // Grayish Yellow Color.web("0x817066"), // Medium Gray Color.web("0x007D34"), // Vivid Green Color.web("0xF6768E"), // Strong Purplish Pink Color.web("0x00538A"), // Strong Blue Color.web("0xFF7A5C"), // Strong Yellowish Pink Color.web("0x53377A"), // Strong Violet Color.web("0xFF8E00"), // Vivid Orange Yellow Color.web("0xB32851"), // Strong Purplish Red Color.web("0xF4C800"), // Vivid Greenish Yellow Color.web("0x7F180D"), // Strong Reddish Brown Color.web("0x93AA00"), // Vivid Yellowish Green Color.web("0x593315"), // Deep Yellowish Brown Color.web("0xF13A13"), // Vivid Reddish Orange Color.web("0x232C16"), // Dark Olive Green };
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!