2015-11-20 116 views
-2

我想将图像像素颜色分类为一个基本颜色 例如 {暗灰色,浅灰色,银色}基色为====>“灰色” {中蓝,午夜蓝,海军蓝} ===>“蓝色” 等将其颜色阴影设置为其基本颜色c#

+0

你可能想看看https://msdn.microsoft.com/en-us/library/xfhwa508(v=vs.110).aspx看看这样做,并回来的任何问题 – TheLethalCoder

回答

0

假设你想使用C#小号Color结构,你可以不喜欢与Dictionary类以下内容:

Dictionary<Color, List<Color>> colorDict = new Dictionary<Color, List<Color>>(); 
colorDict.Add(Colors.Gray, new List<Color>() { Colors.DimGrey, Colors.Silver }); 
colorDict.Add(Colors.Blue, new List<Color>() { Colors.LightBlue, Colors.MidnightBlue }); 

然后你会有一个方法来fi ND的Key颜色每种颜色传递,就像这样:

private Color FindKeyColour(Dictionary<Color, List<Color>> dict, Color c) 
{ 
    if (!dict.ContainsKey(c)) 
    { 
     //The colour is not a key 
     return dict.FirstOrDefault(d => d.Value.Contains(c)).Key; 
    } 
    else 
    { 
     //The colour passed in is a key 
     return c; 
    } 
} 

注:此功能需要改变,如果颜色c不是一个键或值中包含。

相关问题