private void UpdateControls(MyColor color, ColorType type) { DrawPreviewColors(); controlChangingColor = true; if (type != ColorType.HSB) { nudHue.SetValue((decimal)Math.Round(color.HSB.Hue360)); nudSaturation.SetValue((decimal)Math.Round(color.HSB.Saturation100)); nudBrightness.SetValue((decimal)Math.Round(color.HSB.Brightness100)); } if (type != ColorType.RGBA) { nudRed.SetValue(color.RGBA.Red); nudGreen.SetValue(color.RGBA.Green); nudBlue.SetValue(color.RGBA.Blue); nudAlpha.SetValue(color.RGBA.Alpha); } if (type != ColorType.CMYK) { nudCyan.SetValue((decimal)color.CMYK.Cyan100); nudMagenta.SetValue((decimal)color.CMYK.Magenta100); nudYellow.SetValue((decimal)color.CMYK.Yellow100); nudKey.SetValue((decimal)color.CMYK.Key100); } if (type != ColorType.Hex) { txtHex.Text = ColorHelpers.ColorToHex(color); } if (type != ColorType.Decimal) { txtDecimal.Text = ColorHelpers.ColorToDecimal(color).ToString(); } lblNameValue.Text = ColorHelpers.GetColorName(color); controlChangingColor = false; }
public static string Parse(string input, Color color, Point position) { input = input.Replace(r255.ToPrefixString(), color.R.ToString(), StringComparison.InvariantCultureIgnoreCase). Replace(g255.ToPrefixString(), color.G.ToString(), StringComparison.InvariantCultureIgnoreCase). Replace(b255.ToPrefixString(), color.B.ToString(), StringComparison.InvariantCultureIgnoreCase). Replace(HEX.ToPrefixString(), ColorHelpers.ColorToHex(color), StringComparison.InvariantCulture). Replace(hex.ToPrefixString(), ColorHelpers.ColorToHex(color).ToLowerInvariant(), StringComparison.InvariantCultureIgnoreCase). Replace(c100.ToPrefixString(), Math.Round(ColorHelpers.ColorToCMYK(color).Cyan100, 2, MidpointRounding.AwayFromZero).ToString(), StringComparison.InvariantCultureIgnoreCase). Replace(m100.ToPrefixString(), Math.Round(ColorHelpers.ColorToCMYK(color).Magenta100, 2, MidpointRounding.AwayFromZero).ToString(), StringComparison.InvariantCultureIgnoreCase). Replace(y100.ToPrefixString(), Math.Round(ColorHelpers.ColorToCMYK(color).Yellow100, 2, MidpointRounding.AwayFromZero).ToString(), StringComparison.InvariantCultureIgnoreCase). Replace(k100.ToPrefixString(), Math.Round(ColorHelpers.ColorToCMYK(color).Key100, 2, MidpointRounding.AwayFromZero).ToString(), StringComparison.InvariantCultureIgnoreCase). Replace(name.ToPrefixString(), ColorHelpers.GetColorName(color), StringComparison.InvariantCultureIgnoreCase). Replace(x.ToPrefixString(), position.X.ToString(), StringComparison.InvariantCultureIgnoreCase). Replace(y.ToPrefixString(), position.Y.ToString(), StringComparison.InvariantCultureIgnoreCase). Replace(n.ToPrefixString(), Environment.NewLine, StringComparison.InvariantCultureIgnoreCase); foreach (Tuple <string, int> entry in ListEntryWithValue(input, r1.ToPrefixString())) { input = input.Replace(entry.Item1, Math.Round(color.R / 255d, MathHelpers.Clamp(entry.Item2, 0, 15), MidpointRounding.AwayFromZero).ToString(), StringComparison.InvariantCultureIgnoreCase); } foreach (Tuple <string, int> entry in ListEntryWithValue(input, g1.ToPrefixString())) { input = input.Replace(entry.Item1, Math.Round(color.G / 255d, MathHelpers.Clamp(entry.Item2, 0, 15), MidpointRounding.AwayFromZero).ToString(), StringComparison.InvariantCultureIgnoreCase); } foreach (Tuple <string, int> entry in ListEntryWithValue(input, b1.ToPrefixString())) { input = input.Replace(entry.Item1, Math.Round(color.B / 255d, MathHelpers.Clamp(entry.Item2, 0, 15), MidpointRounding.AwayFromZero).ToString(), StringComparison.InvariantCultureIgnoreCase); } input = input.Replace(r1.ToPrefixString(), Math.Round(color.R / 255d, 3, MidpointRounding.AwayFromZero).ToString(), StringComparison.InvariantCultureIgnoreCase). Replace(g1.ToPrefixString(), Math.Round(color.G / 255d, 3, MidpointRounding.AwayFromZero).ToString(), StringComparison.InvariantCultureIgnoreCase). Replace(b1.ToPrefixString(), Math.Round(color.B / 255d, 3, MidpointRounding.AwayFromZero).ToString(), StringComparison.InvariantCultureIgnoreCase); input = input.Replace(r.ToPrefixString(), color.R.ToString(), StringComparison.InvariantCultureIgnoreCase). Replace(g.ToPrefixString(), color.G.ToString(), StringComparison.InvariantCultureIgnoreCase). Replace(b.ToPrefixString(), color.B.ToString(), StringComparison.InvariantCultureIgnoreCase); return(input); }