2015-11-20 115 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不是一個鍵或值中包含。

相關問題