我不确定如何对这个问题进行分类,也不确定如何解释,但我会尽我所能。
我从我的应用程序收集了一系列随机的十六进制代码值。
我想在渐变中呈现这些颜色,这将(在理论上)显示一组颜色的突出。
如果在我的随机颜色数组中有更多蓝色阴影,那么将它放入此渐变将反映出来。
但首先,我需要将渐变中的颜色“排序”为相似的颜色。
我正在使用C# - 但更多的是在关于如何将Hex颜色值映射/排序/分组的理论之后。
答案 0 :(得分:1)
感谢您的评论,我使用了Hue方法作为评论,结果如下 - 这很有效,因为您可以看到显示我的颜色列表中有更多蓝色(动态设置)再次感谢。
但是它仍然存在一个错误 - 由于某种原因它重复而不是占据整个高度:((从蓝色到红色只应该是1个线性)
(我将打开另一个问题)。
我的代码如下(ColorFromString是我为this question编写的一种方法):
private Color[] OrderColorByHue(List<string> colors)
{
foreach(string c in colors)
{
Color color = ColorFromString(c); // This was defined in another question of mine :)
float hue = color.GetHue();
hueColors.Add(new KeyValuePair<Color, float>(color, hue));
}
hueColors.Sort((color1, color2) => color2.Value.CompareTo(color1.Value));
Color[] value = hueColors.Select(color => color.Key).ToArray();
return value;
}
希望这有助于其他人:)
答案 1 :(得分:0)
// GET: Admin/Colors
public ActionResult Index()
{
var colors = db.Colors.OrderBy(a => a.HexCode);
return View(colors);
}
我在MVC.Net项目中使用过它。 我想你可以自己修改它。
HexCodes必须以&#39;#&#39;开头。 (对于订购很重要)