A library for generating color palettes. Generates a palette of colors based on a single color, providing operations to change the hue, saturation and luminosity.
To generate a palette of colors by shifting the hue simply write:
var paletteGenerator = new PaletteGenerator(Color.Blue);
var palette = paletteGenerator.GenerateHuePalette(PaletteSize.Small);The PalleteGenerator takes an instance of the System.Drawing.Color struct as the base color for the palette.
The method GenerateHuePalette(PaletteSize paletteSize) takes a PaletteSize enum that determines the size of the pallet - determining the number of hue degrees to shift when creating the palette.
For a more custom palette, the PaletteGenerator can be used to generate any number of colors by passing in color operations, each one adjusting the base color and adding the result to color palette collection that is returned:
using static PaletteMixr.ColorOperations;
...
var paletteGenerator = new PaletteGenerator(Color.Blue);
paletteGenerator.GeneratePalette(
ShiftHue(30),
AdjustSaturation(-10)
);To combine color operations together to create 1 palette color you can use the Combine function:
paletteGenerator.GeneratePalette(
ShiftHue(30),
Combine(
ShiftHue(10),
AdjustSaturation(50)
));Based upon https://github.com/phjardas/color-palette-generator