예제 #1
0
        /// <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);
                    }
                }
            }
        }
예제 #2
0
        /// <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);
                    }
                }
            }
        }