Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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)] };
- }
Advertisement
Add Comment
Please, Sign In to add comment