Skip to content

Instantly share code, notes, and snippets.

@canhanhan
Created April 30, 2015 21:31
Show Gist options
  • Save canhanhan/995f26ab885432ce6204 to your computer and use it in GitHub Desktop.
Save canhanhan/995f26ab885432ce6204 to your computer and use it in GitHub Desktop.
Generating distinctly different RGB colors
using System.Drawing;
using System.Globalization;
public class ColorGenerator
{
// Color values taken from http://stackoverflow.com/a/309193
private static string[] ColourValues = new string[] {
"FF0000", "00FF00", "0000FF", "FFFF00", "FF00FF", "00FFFF", "000000",
"800000", "008000", "000080", "808000", "800080", "008080", "808080",
"C00000", "00C000", "0000C0", "C0C000", "C000C0", "00C0C0", "C0C0C0",
"400000", "004000", "000040", "404000", "400040", "004040", "404040",
"200000", "002000", "000020", "202000", "200020", "002020", "202020",
"600000", "006000", "000060", "606000", "600060", "006060", "606060",
"A00000", "00A000", "0000A0", "A0A000", "A000A0", "00A0A0", "A0A0A0",
"E00000", "00E000", "0000E0", "E0E000", "E000E0", "00E0E0", "E0E0E0",
};
public string Get(int index)
{
return ColourValues[index % ColourValues.Length];
}
public Color GetColor(int index)
{
return Color.FromArgb(int.Parse("78" + Get(index), NumberStyles.HexNumber));
}
public string[] Colors
{
get { return ColourValues; }
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment