/// <summary> /// Преобразует структуру <see cref="Color"/> в удобную для восприятия строку. /// </summary> /// <param name="Value">Преобразуемый цвет</param> /// <param name="Model">Цветовая модель</param> /// <param name="CSS">Значение, указывающее будет ли отображаться CSS код</param> /// <returns></returns> public static String ToString(this Color Value, ColorModel Model, Boolean CSS = true) { if (CSS) { switch (Model) { case ColorModel.Html: return(ColorConvert.ToHtml(Value)); case ColorModel.Hex: return(ColorConvert.ToHex(Value)); case ColorModel.Rgb: return($"rgb({Value.R}, {Value.G}, {Value.B})"); case ColorModel.Rgba: return($"rgba({Value.R}, {Value.G}, {Value.B}, {Math.Round((double)Value.A / 255, 2)})"); case ColorModel.Hsb: return($"{ColorConvert.ToHsb(Value).Hue}°, {ColorConvert.ToHsb(Value).Saturation * 100}%, {ColorConvert.ToHsb(Value).Brightness * 100}%"); case ColorModel.Hsl: return($"hsl({ColorConvert.ToHsla(Value).Hue}, {ColorConvert.ToHsla(Value).Saturation * 100}%, {ColorConvert.ToHsla(Value).Lightness * 100}%)"); case ColorModel.Hsla: return($"hsla({ColorConvert.ToHsla(Value).Hue}, {ColorConvert.ToHsla(Value).Saturation * 100}%, {ColorConvert.ToHsla(Value).Lightness * 100}%, {ColorConvert.ToHsla(Value).Alpha})"); case ColorModel.Cmyk: return($"{ColorConvert.ToCmyk(Value).Cyan}%, {ColorConvert.ToCmyk(Value).Magenta}%, {ColorConvert.ToCmyk(Value).Yellow}%, {ColorConvert.ToCmyk(Value).Key}%"); default: return(Value.ToString()); } } else { switch (Model) { case ColorModel.Html: return(ColorConvert.ToHtml(Value)); case ColorModel.Hex: return(ColorConvert.ToHex(Value)); case ColorModel.Rgb: return($"{Value.R}, {Value.G}, {Value.B}"); case ColorModel.Rgba: return($"{Value.R}, {Value.G}, {Value.B}, {Math.Round((double)Value.A / 255, 2)}"); case ColorModel.Hsb: return($"{ColorConvert.ToHsb(Value).Hue}°, {ColorConvert.ToHsb(Value).Saturation * 100}%, {ColorConvert.ToHsb(Value).Brightness * 100}%"); case ColorModel.Hsl: return($"{ColorConvert.ToHsla(Value).Hue}°, {ColorConvert.ToHsla(Value).Saturation * 100}%, {ColorConvert.ToHsla(Value).Lightness * 100}%"); case ColorModel.Hsla: return($"{ColorConvert.ToHsla(Value).Hue}°, {ColorConvert.ToHsla(Value).Saturation * 100}%, {ColorConvert.ToHsla(Value).Lightness * 100}%, {ColorConvert.ToHsla(Value).Alpha}"); case ColorModel.Cmyk: return($"{ColorConvert.ToCmyk(Value).Cyan}%, {ColorConvert.ToCmyk(Value).Magenta}%, {ColorConvert.ToCmyk(Value).Yellow}%, {ColorConvert.ToCmyk(Value).Key}%"); default: return(Value.ToString()); } } }
/// <summary> /// Переводит значения цветовой модели RGBA в Html. /// </summary> /// <param name="Value"></param> /// <exception cref="ArgumentException"></exception> /// <returns></returns> public static String ToHtml(this Color Value) { return(ColorConvert.ToHtml(Value)); }