提交 bb693478 编写于 作者: 闫驚鏵

Update ColorConverter.cs

上级 c81fff3a
......@@ -9,52 +9,55 @@ namespace WPFDevelopers.Converts
{
public class ColorToRedConverter : IValueConverter
{
private Color? _curColor = null;
private Color? _curColor;
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
_curColor = (Color)value;
_curColor = (Color) value;
return _curColor.Value.R;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
return Color.FromArgb(_curColor.Value.A, (byte)(double.Parse(value.ToString())), _curColor.Value.G, _curColor.Value.B);
return Color.FromArgb(_curColor.Value.A, (byte) double.Parse(value.ToString()), _curColor.Value.G,
_curColor.Value.B);
}
}
public class ColorToGreenConverter : IValueConverter
{
private Color? _curColor = null;
private Color? _curColor;
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
_curColor = (Color)value;
_curColor = (Color) value;
return _curColor.Value.G;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
return Color.FromArgb(_curColor.Value.A, _curColor.Value.R, (byte)(double.Parse(value.ToString())), _curColor.Value.B);
return Color.FromArgb(_curColor.Value.A, _curColor.Value.R, (byte) double.Parse(value.ToString()),
_curColor.Value.B);
}
}
public class ColorToBlueConverter : IValueConverter
{
private Color? _curColor = null;
private Color? _curColor;
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
_curColor = (Color)value;
_curColor = (Color) value;
return _curColor.Value.B;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
return Color.FromArgb(_curColor.Value.A, _curColor.Value.R, _curColor.Value.G, (byte)(double.Parse(value.ToString())));
return Color.FromArgb(_curColor.Value.A, _curColor.Value.R, _curColor.Value.G,
(byte) double.Parse(value.ToString()));
}
}
......@@ -62,7 +65,7 @@ namespace WPFDevelopers.Converts
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
return new SolidColorBrush((Color)value);
return new SolidColorBrush((Color) value);
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
......@@ -73,79 +76,86 @@ namespace WPFDevelopers.Converts
public class ColorToStringConverter : IValueConverter
{
private Color? _curColor = null;
private Color? _curColor;
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
_curColor = (Color)value;
_curColor = (Color) value;
return _curColor.ToString();
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
var colorStr = (string)value;
var colorStr = (string) value;
if (!string.IsNullOrWhiteSpace(colorStr) && Regex.IsMatch(colorStr, @"^#[\da-fA-F]{6,8}$"))
return ColorConverter.ConvertFromString(colorStr);
return ColorConverter.ConvertFromString(colorStr);
return _curColor.Value;
}
}
public class HToColorConverter : IValueConverter
{
private Color? _curColor = null;
private Color? _curColor;
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
_curColor = (Color)value;
return $"{ColorUtil.ColorFromH(_curColor.Value)}";
_curColor = (Color) value;
return $"{(int) ColorUtil.RgbToHSL(_curColor.Value).H}";
//return $"{ColorUtil.ColorFromH(_curColor.Value)}";
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
var colorStr = (string)value;
if (!string.IsNullOrWhiteSpace(colorStr) && double.TryParse(colorStr, out double hValue))
_curColor = ColorUtil.ConvertHSLToColor(_curColor.Value, hValue: hValue % 360);
var colorStr = (string) value;
if (!string.IsNullOrWhiteSpace(colorStr) && double.TryParse(colorStr, out var hValue))
_curColor = ColorUtil.ConvertHSLToColor(_curColor.Value, hValue % 360);
//_curColor = ColorUtil.ConvertHSLToColor(_curColor.Value, hValue: hValue % 360);
return _curColor;
}
}
public class SToColorConverter : IValueConverter
{
private Color? _curColor = null;
private Color? _curColor;
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
_curColor = (Color)value;
return $"{ColorUtil.ColorFromS(_curColor.Value)}%";
_curColor = (Color) value;
return $"{Math.Round(ColorUtil.RgbToHSL(_curColor.Value).S * 100)}%";
//return $"{ColorUtil.ColorFromS(_curColor.Value)}%";
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
var colorStr = (string)value;
if (!string.IsNullOrWhiteSpace(colorStr) && double.TryParse(colorStr, out double sValue))
_curColor = ColorUtil.ConvertHSLToColor(_curColor.Value, sValue: sValue / 100);
var colorStr = (string) value;
if (!string.IsNullOrWhiteSpace(colorStr) && double.TryParse(colorStr, out var sValue))
_curColor = ColorUtil.ConvertHSLToColor(_curColor.Value, sl: sValue / 100);
//_curColor = ColorUtil.ConvertHSLToColor(_curColor.Value, sValue: sValue / 100);
return _curColor;
}
}
public class LToColorConverter : IValueConverter
{
private Color? _curColor = null;
private Color? _curColor;
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
_curColor = (Color)value;
return $"{ColorUtil.ColorFromL(_curColor.Value)}%";
_curColor = (Color) value;
//return $"{ColorUtil.ColorFromL(_curColor.Value)}%";
return $"{Math.Round(ColorUtil.RgbToHSL(_curColor.Value).L * 100)}%";
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
var colorStr = (string)value;
if (!string.IsNullOrWhiteSpace(colorStr) && double.TryParse(colorStr, out double lValue))
_curColor = ColorUtil.ConvertHSLToColor(_curColor.Value, lValue: lValue / 100);
var colorStr = (string) value;
if (!string.IsNullOrWhiteSpace(colorStr) && double.TryParse(colorStr, out var lValue))
_curColor = ColorUtil.ConvertHSLToColor(_curColor.Value, l: lValue / 100);
//_curColor = ColorUtil.ConvertHSLToColor(_curColor.Value, lValue: lValue / 100);
return _curColor;
}
}
}
}
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册