public static Color ToColor(HSB hsb) { int Mid; int Max = ColorHelper.Round(hsb.Brightness * 255); int Min = ColorHelper.Round((1.0 - hsb.Saturation) * (hsb.Brightness / 1.0) * 255); double q = (double)(Max - Min) / 255; if (hsb.Hue >= 0 && hsb.Hue <= (double)1 / 6) { Mid = ColorHelper.Round(((hsb.Hue - 0) * q) * 1530 + Min); return(Color.FromArgb(Max, Mid, Min)); } if (hsb.Hue <= (double)1 / 3) { Mid = ColorHelper.Round(-((hsb.Hue - (double)1 / 6) * q) * 1530 + Max); return(Color.FromArgb(Mid, Max, Min)); } if (hsb.Hue <= 0.5) { Mid = ColorHelper.Round(((hsb.Hue - (double)1 / 3) * q) * 1530 + Min); return(Color.FromArgb(Min, Max, Mid)); } if (hsb.Hue <= (double)2 / 3) { Mid = ColorHelper.Round(-((hsb.Hue - 0.5) * q) * 1530 + Max); return(Color.FromArgb(Min, Mid, Max)); } if (hsb.Hue <= (double)5 / 6) { Mid = ColorHelper.Round(((hsb.Hue - (double)2 / 3) * q) * 1530 + Min); return(Color.FromArgb(Mid, Min, Max)); } if (hsb.Hue <= 1.0) { Mid = ColorHelper.Round(-((hsb.Hue - (double)5 / 6) * q) * 1530 + Max); return(Color.FromArgb(Max, Min, Mid)); } return(Color.FromArgb(0, 0, 0)); }
public static Color ToColor(HSB hsb) { int num4; int red = Class30.smethod_4(hsb.Brightness * 255.0); int blue = Class30.smethod_4(((1.0 - hsb.Saturation) * (hsb.Brightness / 1.0)) * 255.0); double num3 = ((double)(red - blue)) / 255.0; if ((hsb.Hue >= 0.0) && (hsb.Hue <= 0.16666666666666666)) { num4 = Class30.smethod_4((((hsb.Hue - 0.0) * num3) * 1530.0) + blue); return(Color.FromArgb(red, num4, blue)); } if (hsb.Hue <= 0.33333333333333331) { return(Color.FromArgb(Class30.smethod_4((-((hsb.Hue - 0.16666666666666666) * num3) * 1530.0) + red), red, blue)); } if (hsb.Hue <= 0.5) { num4 = Class30.smethod_4((((hsb.Hue - 0.33333333333333331) * num3) * 1530.0) + blue); return(Color.FromArgb(blue, red, num4)); } if (hsb.Hue <= 0.66666666666666663) { num4 = Class30.smethod_4((-((hsb.Hue - 0.5) * num3) * 1530.0) + red); return(Color.FromArgb(blue, num4, red)); } if (hsb.Hue <= 0.83333333333333337) { return(Color.FromArgb(Class30.smethod_4((((hsb.Hue - 0.66666666666666663) * num3) * 1530.0) + blue), blue, red)); } if (hsb.Hue <= 1.0) { num4 = Class30.smethod_4((-((hsb.Hue - 0.83333333333333337) * num3) * 1530.0) + red); return(Color.FromArgb(red, blue, num4)); } return(Color.FromArgb(0, 0, 0)); }
public void CMYKUpdate() { this.RGB = this.CMYK; this.HSB = this.CMYK; }
public void RGBUpdate() { this.HSB = this.RGB; this.CMYK = this.RGB; }
public MyColor(Color color) { this.RGB = color; this.HSB = color; this.CMYK = color; }
public static HSB ToHSB(Color color) { HSB hsb = new HSB(); int Max, Min; if (color.R > color.G) { Max = color.R; Min = color.G; } else { Max = color.G; Min = color.R; } if (color.B > Max) { Max = color.B; } else if (color.B < Min) { Min = color.B; } int Diff = Max - Min; hsb.Brightness = (double)Max / 255; if (Max == 0) { hsb.Saturation = 0; } else { hsb.Saturation = (double)Diff / Max; } double q; if (Diff == 0) { q = 0; } else { q = (double)60 / Diff; } if (Max == color.R) { if (color.G < color.B) { hsb.Hue = (360 + q * (color.G - color.B)) / 360; } else { hsb.Hue = q * (color.G - color.B) / 360; } } else if (Max == color.G) { hsb.Hue = (120 + q * (color.B - color.R)) / 360; } else if (Max == color.B) { hsb.Hue = (240 + q * (color.R - color.G)) / 360; } else { hsb.Hue = 0.0; } return(hsb); }
public static HSB ToHSB(Color color) { double num; int r; int g; HSB hsb = new HSB(); if (color.R > color.G) { r = color.R; g = color.G; } else { r = color.G; g = color.R; } if (color.B > r) { r = color.B; } else if (color.B < g) { g = color.B; } int num4 = r - g; hsb.Brightness = ((double)r) / 255.0; if (r == 0) { hsb.Saturation = 0.0; } else { hsb.Saturation = ((double)num4) / ((double)r); } if (num4 == 0) { num = 0.0; } else { num = 60.0 / ((double)num4); } if (r == color.R) { if (color.G < color.B) { hsb.Hue = (360.0 + (num * (color.G - color.B))) / 360.0; return(hsb); } hsb.Hue = (num * (color.G - color.B)) / 360.0; return(hsb); } if (r == color.G) { hsb.Hue = (120.0 + (num * (color.B - color.R))) / 360.0; return(hsb); } if (r == color.B) { hsb.Hue = (240.0 + (num * (color.R - color.G))) / 360.0; return(hsb); } hsb.Hue = 0.0; return(hsb); }
public static HSB ToHSB(Color color) { HSB hsb = new HSB(); int Max, Min; if (color.R > color.G) { Max = color.R; Min = color.G; } else { Max = color.G; Min = color.R; } if (color.B > Max) Max = color.B; else if (color.B < Min) Min = color.B; int Diff = Max - Min; hsb.Brightness = (double)Max / 255; if (Max == 0) hsb.Saturation = 0; else hsb.Saturation = (double)Diff / Max; double q; if (Diff == 0) q = 0; else q = (double)60 / Diff; if (Max == color.R) { if (color.G < color.B) hsb.Hue = (360 + q * (color.G - color.B)) / 360; else hsb.Hue = q * (color.G - color.B) / 360; } else if (Max == color.G) hsb.Hue = (120 + q * (color.B - color.R)) / 360; else if (Max == color.B) hsb.Hue = (240 + q * (color.R - color.G)) / 360; else hsb.Hue = 0.0; return hsb; }
public static Color ToColor(HSB hsb) { int Mid; int Max = ColorHelper.Round(hsb.Brightness * 255); int Min = ColorHelper.Round((1.0 - hsb.Saturation) * (hsb.Brightness / 1.0) * 255); double q = (double)(Max - Min) / 255; if (hsb.Hue >= 0 && hsb.Hue <= (double)1 / 6) { Mid = ColorHelper.Round(((hsb.Hue - 0) * q) * 1530 + Min); return Color.FromArgb(Max, Mid, Min); } if (hsb.Hue <= (double)1 / 3) { Mid = ColorHelper.Round(-((hsb.Hue - (double)1 / 6) * q) * 1530 + Max); return Color.FromArgb(Mid, Max, Min); } if (hsb.Hue <= 0.5) { Mid = ColorHelper.Round(((hsb.Hue - (double)1 / 3) * q) * 1530 + Min); return Color.FromArgb(Min, Max, Mid); } if (hsb.Hue <= (double)2 / 3) { Mid = ColorHelper.Round(-((hsb.Hue - 0.5) * q) * 1530 + Max); return Color.FromArgb(Min, Mid, Max); } if (hsb.Hue <= (double)5 / 6) { Mid = ColorHelper.Round(((hsb.Hue - (double)2 / 3) * q) * 1530 + Min); return Color.FromArgb(Mid, Min, Max); } if (hsb.Hue <= 1.0) { Mid = ColorHelper.Round(-((hsb.Hue - (double)5 / 6) * q) * 1530 + Max); return Color.FromArgb(Max, Min, Mid); } return Color.FromArgb(0, 0, 0); }