How do I adjust the brightness of a color?
As a simple approach, you can just factor the RGB values:
Color c1 = Color.Red;
Color c2 = Color.FromArgb(c1.A,
(int)(c1.R * 0.8), (int)(c1.G * 0.8), (int)(c1.B * 0.8));
(which should darken it; or, for example, * 1.25 to brighten it)
Convert from RGB to HSV (or HSL), then adjust the V (or L) down and then convert back.
While System.Drawing.Color
provides methods to get hue (H), saturation (S) and brightness it does not provide much in the way of other conversions, notable nothing to create a new instance from HSV (or HSV values), but the conversion is pretty simple to implement. The wikipedia articles give decent converage, starting here: "HSL and HSV".
You could also try using
ControlPaint.Light(baseColor, percOfLightLight)
ControlPaint.Light
or
ControlPaint.Dark(baseColor, percOfDarkDark)
ControlPaint.Dark