BaconographyW8.Converters.ColorContrastConverter.Convert C# (CSharp) Method

Convert() public method

public Convert ( object value, Type targetType, object parameter, string language ) : object
value object
targetType System.Type
parameter object
language string
return object
        public object Convert(object value, Type targetType, object parameter, string language)
        {
            var brush = (SolidColorBrush)value;
            var yiq = ((brush.Color.R * 299) + (brush.Color.G * 587) + (brush.Color.B * 114)) / 1000;
            Color contrastColor;
            bool invert = (parameter != null) && System.Convert.ToBoolean(parameter);

            // check to see if we actually need to invert
            contrastColor = invert
                                ? ((yiq >= 128) ? Colors.White : Colors.Black)
                                : ((yiq >= 128) ? Colors.Black : Colors.White);

            return new SolidColorBrush(contrastColor);
        }
ColorContrastConverter