/// <summary> /// Подсчет количества цветов по горизонтали и вертикали. /// </summary> /// <param name="map"></param> /// <param name="horizontal"></param> /// <param name="vertical"></param> public void CalculateImageAxes(BitmapDecorator map, Dictionary<int, Dictionary<Color, int>> horizontal, Dictionary<int, Dictionary<Color, int>> vertical) { for (var y = 0; y < map.Bitmap.Height; ++y) { vertical.Add(y, new Dictionary<Color, int>()); for (var x = 0; x < map.Bitmap.Width; ++x) { if (y == 0) { horizontal.Add(x, new Dictionary<Color, int>()); } var c = map.GetPixel(x, y); if (horizontal[x].ContainsKey(c)) { horizontal[x][c]++; } else { horizontal[x].Add(c, 1); } if (vertical[y].ContainsKey(c)) { vertical[y][c]++; } else { vertical[y].Add(c, 1); } } } }
/// <summary> /// Подсчет количества цветов по горизонтали и вертикали. /// </summary> /// <param name="map"></param> /// <param name="horizontal"></param> /// <param name="vertical"></param> public void CalculateImageAxes(BitmapDecorator map, Dictionary <int, Dictionary <Color, int> > horizontal, Dictionary <int, Dictionary <Color, int> > vertical) { for (var y = 0; y < map.Bitmap.Height; ++y) { vertical.Add(y, new Dictionary <Color, int>()); for (var x = 0; x < map.Bitmap.Width; ++x) { if (y == 0) { horizontal.Add(x, new Dictionary <Color, int>()); } var c = map.GetPixel(x, y); if (horizontal[x].ContainsKey(c)) { horizontal[x][c]++; } else { horizontal[x].Add(c, 1); } if (vertical[y].ContainsKey(c)) { vertical[y][c]++; } else { vertical[y].Add(c, 1); } } } }