C# 在3个独立的轨迹栏之间拆分最大值
这可能很简单,也可能是一个漫长的一周,我的脑子就是想不出答案。不管怎样,我都找不到答案 我有一个由4种颜色组成的颜色数组C# 在3个独立的轨迹栏之间拆分最大值,c#,.net,winforms,C#,.net,Winforms,这可能很简单,也可能是一个漫长的一周,我的脑子就是想不出答案。不管怎样,我都找不到答案 我有一个由4种颜色组成的颜色数组 _sourceLookupColorRange = new Color[128]; 现在它们被平均地分开了。颜色1和颜色2之间的增量为42,颜色2和颜色3之间的增量为43,颜色3和颜色4之间的增量为43 Color set1 = Color.Green; Color set3 = Color.Yellow; Color set5 = Colo
_sourceLookupColorRange = new Color[128];
现在它们被平均地分开了。颜色1和颜色2之间的增量为42,颜色2和颜色3之间的增量为43,颜色3和颜色4之间的增量为43
Color set1 = Color.Green;
Color set3 = Color.Yellow;
Color set5 = Color.Orange;
Color set6 = Color.Red;
//find the interpolated values between the colors
var res1 = ColorInterpolator.ReturnColorSet(42, set1, set3, 0);
var res2 = ColorInterpolator.ReturnColorSet(43, set3, set5, 0);
var res3 = ColorInterpolator.ReturnColorSet(43, set5, set6, 0);
//copy the interpolated colors to the main source lookup array
Array.Copy(res1, 0, _sourceLookupColorRange, 0, 42);
Array.Copy(res2, 0, _sourceLookupColorRange, 42, 43);
Array.Copy(res3, 0, _sourceLookupColorRange, 85, 43);
我想让用户能够拖动滑块来设置颜色范围之间的更多“权重”。前两个范围可能有20个,第三个范围可能有68个。我想使用3个轨迹栏,以便于在用户界面中使用,但需要帮助如何让它工作,或者如果有一个如何做到这一点的例子
谢谢我最后使用了一个比率。颜色范围除以3个轨迹条的值之和得到了一个比率。然后,我将每个轨迹栏值乘以这个比率,得到所需的三个缩放结果。如果使用WinForms,请搜索轨迹栏控件。有很多关于如何使用它的教程。您只需监听滚动事件并将当前值分配给变量。