【发布时间】:2016-04-17 18:22:56
【问题描述】:
我想将颜色列表转换为 ARGB 值列表(int 值),我正在使用以下 c# 代码:
foreach(var element in colorlist)
{
intlist.add(element.toargb());
}
但是它需要时间还有另一种更快的方法吗? 这就是我首先将颜色添加到列表中的方式:
for (int x = 0; x < image.Size.Width; x++)
for (int y = 0; y < image.Size.Height; y++)
{
Color c = image.GetPixel(x, y);
if (histo.ContainsKey(c))
histo[c] = histo[c] + 1;
else
histo.Add(c, 1);
}
var result1 = histo.OrderByDescending(a => a.Value);
var Most_Used_Colors = result1.Select(x => x.Key).Take(color_no).ToList();
【问题讨论】:
-
这是什么语言?在第一种情况下,您的颜色究竟是如何存储的(例如“#rrggbb”、“rgb(1,2,3)”或其他)。如果我们能看到更多代码,我们会更有帮助。
-
对不起,我忘了说这段代码是用 c# 语言编写的 'for (int x = 0; x
-
随意使用额外信息编辑您的原始问题,而不是试图将代码放入评论中。
标签: c# image-processing colors