
Untitled
By: a guest on
Jun 17th, 2012 | syntax:
None | size: 1.24 KB | hits: 11 | expires: Never
Color harmonies:triada, complement, analogous, monochromatic
int WrapColor(int colorIndex, int numWheelColors)
{
while(colorIndex < 0)
{
colorIndex += numWheelColors;
}
colorIndex = colorIndex % numWheelColors;
}
int GetColorWheelIndex(Color color)
{
if (ColorWheelArray.Contains(color))
return ColorWheelArray.IndexOf(color);
else
throw new InvalidArgumentException("color");
}
Color[] GetTriadaColors(Color color)
{
int colorIndex = GetColorWheelIndex(color, ColorWheelArray.Length);
return new Color[]
{
color,
ColorWheelArray[WrapColor(colorIndex + ColorWheelArray.Length / 3)],
ColorWheelArray[WrapColor(colorIndex + 2 * ColorWheelArray.Length / 3)]
};
}
Color GetComplimentColor(Color color)
{
int colorIndex = GetColorWheelIndex(color, ColorWheelArray.Length);
return ColorWheelArray[WrapColor(colorIndex + ColorWheelArray.Length / 2)];
}
Color[] GetAnalogousColors(Color color)
{
int colorIndex = GetColorWheelIndex(color, ColorWheelArray.Length);
return new Color[] { color,
ColorWheelArray[WrapColor(colorIndex + 1)],
ColorWheelArray[WrapColor(colorIndex + 2)] };
}