public Color GetColor(T item) { if (ColorMap.ContainsKey(item)) { return(ColorMap[item]); } else { var color = Colors[NextIndex]; NextIndex = (NextIndex + 1) % Colors.Count; ColorMap[item] = color; return(color); } }
public static ColorMap BuildColorMap(this Bitmap source) { var map = new ColorMap(); source.GetPixels().Select(p => { if (map.ContainsKey(p.Color)) { map[p.Color]++; } else { map.Add(p.Color, 1); } return p; }).ToList(); return map; }