Harmonies
Color harmonies are combinations of colors that create aesthetically pleasing contrasts and consonances that are said to be harmonious. The Color Pro package includes several extension methods declared in the static class Harmonies for generating common color harmonies.
Monochromatic
A set of tints and shades formed from a base color.
Color[] harmony = baseColor.Monochromatic(10, 0.5f); // 10 colors with a 50% spread
baseColor.MonochromaticNonAlloc(outputArray); // prevent heap allocations
Analogous
A set of colors located next to each other on the color wheel.
Color[] harmony = baseColor.Analogous(3, 30); // 3 colors with 30° hue shift each
baseColor.AnalogousNonAlloc(outputArray, 30); // prevent heap allocations
Complementary
Two colors located opposite to each other on the color wheel.
Color[] harmony = baseColor.Complementary();
baseColor.ComplementaryNonAlloc(outputArray); // prevent heap allocations
Split Complementary
A base color with two colors adjacent to the directly opposing color on the color wheel.
Color[] harmony = baseColor.SplitComplementary();
baseColor.SplitComplementaryNonAlloc(outputArray); // prevent heap allocations
Double Split Complementary
Two pairs of complementary colors on either side of a base color.
Color[] harmony = baseColor.DoubleSplitComplementary();
baseColor.DoubleSplitComplementaryNonAlloc(outputArray); // prevent heap allocations
Triadic
Three colors evenly spaced around the color wheel to form a triangle (120° shift).
Color[] harmony = baseColor.Triadic();
baseColor.TriadicNonAlloc(outputArray); // prevent heap allocations
Square
Four colors evenly spaced around the color wheel to form a square (90° shift).
Color[] harmony = baseColor.Square();
baseColor.SquareNonAlloc(outputArray); // prevent heap allocations