Heim >Java >javaLernprogramm >Wie kann ich einen großen Satz visuell unterschiedlicher Farben erzeugen?
Beim Generieren einer großen Anzahl von Farben kann es eine Herausforderung sein, Mittel zu finden, um sicherzustellen, dass sie sich optisch unterscheiden. Es ist wichtig, bestehende Ansätze zu erkunden.
Gleichmäßige Unterteilung des RGB-Würfels:
Diese Methode unterteilt den RGB-Würfel in diskrete Abschnitte und wählt Farben aus diesen Bereichen aus. Es kann eine progressive Skala erzeugt werden, aber bei großen Zahlen können Farben ähnlich erscheinen.
Verwendung vordefinierter Listen:
Farblisten wie Boynton's oder Kelly's stellen vorab ausgewählte Farben bereit hoher Kontrast, sodass keine Algorithmen erforderlich sind.
Algorithmenbasierte Methoden:
Verschiedene Algorithmen wurden entwickelt, um unterschiedliche Farben auszuwählen. Dazu gehören:
Konvertierung in RGB:
Wenn Farben nicht im RGB-Format angegeben sind, müssen Sie sie möglicherweise mit Ressourcen wie den folgenden konvertieren:
Codebeispiele:
C#-Code für Boyntons optimierte Liste:
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 };
JavaFX-Code für Kellys Farben:
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 };
Das obige ist der detaillierte Inhalt vonWie kann ich einen großen Satz visuell unterschiedlicher Farben erzeugen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!