Exemple #1
0
        private static void CreateDistanceImage(int[,] map)
        {
            var image = new Bitmap(map.GetLength(0), map.GetLength(1));

            for (var x = 0; x < map.GetLength(0); x++)
            {
                for (var y = 0; y < map.GetLength(1); y++)
                {
                    var   val = map[x, y];
                    Color color;
                    if (val == -2)
                    {
                        color = Color.Black;
                    }
                    else if (val <= 10000)
                    {
                        color = Color.Green;
                    }
                    else
                    {
                        color = ColorRGB.FromHSL(1.0, 1.0, Math.Clamp(map[x, y] / 20000d, 0.0, 1.0));
                    }

                    image.SetPixel(x, y, color);
                }
            }
            image.Save("distance_map.bmp");
        }
Exemple #2
0
        private static void CreateVektorImage(int[,] map, Vektor biggestVektor)
        {
            var image = new Bitmap(map.GetLength(0), map.GetLength(1));

            for (var x = 0; x < map.GetLength(0); x++)
            {
                for (var y = 0; y < map.GetLength(1); y++)
                {
                    var   val = map[x, y];
                    Color color;
                    if (val == -2)
                    {
                        color = Color.Black;
                    }
                    else if (val == -1)
                    {
                        color = Color.White;
                    }
                    else if (val == biggestVektor.Index)
                    {
                        color = Color.Red;
                    }
                    else
                    {
                        color = ColorRGB.FromHSL(val / 60d, 1.0, .5);
                    }
                    image.SetPixel(x, y, color);
                }
            }
            image.Save("vektor_map.bmp");
        }
        /// <summary>
        /// Initialise la liste des couleurs
        /// </summary>
        private void InitializeColorList()
        {
            //Entier de granularité : indique le nombre de couleur qui sera introduite dans la grille à partir de toute la gamme possible
            int colorGranularity = 50;

            for (int i = 0; i < colorGranularity; i++) //On crée un certain nombre de couleur
            {
                //Création d'une couleur à partir de la teinte:
                //  Teinte: 1.0 / colorGranularity * i : la teinte doit être entrée en % dans la classe ColorRGB (0->1). On crée des paliers qui vont de 0->1 en fonction de colorGranularity
                //  Saturation : 1 : Couleur vive
                //  Luminosité : 0.5 : Couleur moyenne entre noir et blanc (luminosité 0->noir, luminosité 1->blanc)
                ColorRGB        colorRGB = ColorRGB.FromHSL(1.0 / colorGranularity * i, 1, 0.5);
                SolidColorBrush brush    = new SolidColorBrush(colorRGB); //Création du pinceau représentant une couleur
                this.colorBrushes.Add(brush);                             //Ajout de ce pinceau à la liste
            }
        }