Possible Duplicate:
Color Interpolation Between 3 Colors in .NET
我一直在尝试使用 C# 获取颜色类别列表:
Red:
255, 69, 0
255, 99, 71
etc..
Green:
0, 250, 154
143, 188, 139
etc...
到目前为止,我一直很不成功。理想情况下,我想要的是一种提供两个 HEX refs 或 RGB refs 并获得这两个引用之间的 10 种颜色列表的方法。这在 C# 中可能吗?
编辑
找到这个... http://meyerweb.com/eric/tools/color-blend/现在只是将 js 转换为 c#。完成后会发布。
我不知道内置函数可以帮助你,但你可以自己做。
只要可以用3个数字(R,G,B)定义颜色,就可以取两种颜色:
(R1,G1,B1)
(R2,G2,B2)
然后在对之间划分 diff 并按间隔生成数字。
int numberOfIntervals = 10; //or change to whatever you want.
var interval_R = (R2 - R1) / numberOfIntervals;
var interval_G = (G2 - G1) / numberOfIntervals;
var interval_B = (B2 - B1) / numberOfIntervals;
var current_R = R1;
var current_G = G1;
var current_B = B1;
for (var i = 0; i <= numberOfIntervals; i++)
{
var color = Color.FromRGB(current_R, current_G, current_B);
//do something with color.
//increment.
current_R += interval_R;
current_G += interval_G;
current_B += interval_B;
}
我还没有编译代码,但你明白了。