日期:2014-05-20  浏览次数:21132 次

用颜色表示数值
实现   将二维数据用二维网格来表示,每个网格不同的颜色表示了不同的值
颜色蓝色表示最小,红色最大。
例如   数值范围是500-3500       500用蓝色表示3500用红色     请问
中间的数据值的颜色怎么求  
谢谢了

------解决方案--------------------
private Color ShadowColor(Color AStart, Color AEnd, double ARate)
{
double R = AEnd.R - AStart.R;
double G = AEnd.G - AStart.G;
double B = AEnd.B - AStart.B;
return Color.FromArgb(
(int)(AStart.R + R * ARate),
(int)(AStart.G + G * ARate),
(int)(AStart.B + B * ARate));
}

private void button1_Click(object sender, EventArgs e)
{
Graphics vGraphics = Graphics.FromHwnd(Handle);
int j = 0;
for (int i = 500; i <= 3500; i += 10)
{
vGraphics.DrawLine(new Pen(ShadowColor(
Color.Blue, Color.Red, (double)i / 3500)),
new Point(0, j), new Point(20, j));
j++;
}

}