|
using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.Windows.Data;
namespace WPClientV2
{
public class GradientConverter:IValueConverter
{
public Color StartColor { get; set; }
public Color EndColor { get; set; }
public Color DefaultColor { get; set; }
public double StartValue { get; set; }
public double EndValue { get; set; }
public GradientConverter()
{
DefaultColor = Colors.White;
StartColor = Colors.White;
EndColor = Colors.White;
}
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
double val=(double)value;
int n = (int)(EndValue - StartValue);
int curr = (int)(val-StartValue);
Color newColor = DefaultColor;
if(val>=StartValue && val<=EndValue)
{
double u=(double)curr/n;
newColor.R = (byte)(StartColor.R * (1 - u) + EndColor.R * u);
newColor.G = (byte)(StartColor.G * (1 - u) + EndColor.G * u);
newColor.B = (byte)(StartColor.B * (1 - u) + EndColor.B * u);
}
return new SolidColorBrush(newColor);
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.