C# 获取两个颜色十六进制参考或RGB之间的颜色

C# 获取两个颜色十六进制参考或RGB之间的颜色,c#,.net,colors,C#,.net,Colors,可能重复: 我一直在尝试使用C#获取颜色的类别列表: 红色: 255, 69, 0 255, 99, 71 等 绿色: 0, 250, 154 143, 188, 139 等 到目前为止,我一直很不成功。理想情况下,我想要的是一种提供两个十六进制参考或RGB参考的方法,并获得两个参考之间的10种颜色的列表。这在C#中可能吗 编辑 找到这个。。。现在就把js转换成c。完成后将发布。我不知道内置功能会对您有所帮助,但您可以自己完成 只要可以使用3个数字(R、G、B)定义颜色,就可以选择两种颜色:

可能重复:

我一直在尝试使用C#获取颜色的类别列表:

红色:
255, 69, 0
255, 99, 71
等
绿色:
0, 250, 154
143, 188, 139
等
到目前为止,我一直很不成功。理想情况下,我想要的是一种提供两个十六进制参考或RGB参考的方法,并获得两个参考之间的10种颜色的列表。这在C#中可能吗

编辑


找到这个。。。现在就把js转换成c。完成后将发布。

我不知道内置功能会对您有所帮助,但您可以自己完成

只要可以使用3个数字(R、G、B)定义颜色,就可以选择两种颜色:

(R1,G1,B1)
(R2,G2,B2)
然后在对之间划分差异,并按间隔生成数字

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;
}
int numberofinterval=10//或者你想换什么就换什么。
var区间R=(R2-R1)/NumberOfInterval;
var区间(G=(G2-G1)/NumberOfInterval;
var区间_B=(B2-B1)/NumberOfInterval;
无功电流=R1;
无功电流_G=G1;
无功电流_B=B1;

for(var i=0;i调用您正在查找的。在这个特定场景中,您需要在两个关键点之间插入数据

由于插值是编程时非常常见的场景,因此我可以轻松地使用线性或偶数在两个或多个关键点之间插值

使用我的库,您可以按如下方式计算中间颜色:

var keyPoints = new CumulativeKeyPointCollection<Color, double>(
    new ColorInterpolationProvider() );

keyPoints.Add( Color.FromArgb(0, 250, 154) );
keyPoints.Add( Color.FromArgb(143, 188, 139) );

var linear = new LinearInterpolation<Color, double>( keyPoints ); 

// E.g. to get a color halfway the two other colors.
Color colorHalfway = linear.Interpolate( 0.5 );
var keyPoints=新的累积keypointcollection(
新的ColorInterpolationProvider());
添加(Color.FromArgb(0,250,154));
添加(Color.FromArgb(143188139));
var线性=新的线性插值(关键点);
//例如,使一种颜色与另外两种颜色相差无几。
颜色一半=线性。插值(0.5);
您必须通过扩展
AbstractInterpolationProvider
来实现
ColorInterpolationProvider
,但这非常简单,可以找到更多信息

本例使用该类,但您也可以通过传递不同的插值提供程序来支持任何其他
Color
类。

可能的重复: