It was a while ago to play the colours in .NETCF. The case was drawing darker or lighter colour when user clicks my custom design buttons. Well, I believe it would be much easier to change the colour by its original colour. So I came up with two methods to extend the existing System.Drawing.Color object. These two methods can be found similar over the Internet. So, I have to thank all the developers in the Internet...
public static Color GetColorDarker(this Color color, double factor) { // The factor value value cannot be greater than 1 or smaller than 0. // Otherwise return the original colour if (factor < 0 || factor > 1) return color; int r = (int)(factor * color.R); int g = (int)(factor * color.G); int b = (int)(factor * color.B); return Color.FromArgb(r, g, b); }
public static Color GetColorLighter(this Color color, double factor) { // The factor value value cannot be greater than 1 or smaller than 0. // Otherwise return the original colour if (factor < 0 || factor > 1) return color; int r = (int)(factor * color.R + (1 - factor) * 255); int g = (int)(factor * color.G + (1 - factor) * 255); int b = (int)(factor * color.B + (1 - factor) * 255); return Color.FromArgb(r, g, b); }
0 comments :
Post a Comment