Пример #1
0
        /// <summary>
        /// Permet de faire une fractale de Julia differente possiblité d'image graàce à cette fractale
        /// </summary>
        /// <param name="a">l'image qu'on va venir transformer </param>
        /// <param name="c1">valeur modifiable afin de changer le rendu de l'image</param>
        /// <param name="c2">valeur modifiable afin de changer le rendu de l'image</param>
        public void FractaledeJulia(MyImage a, double c1, double c2)
        {
            a.FractaledeMandelBroot();

            for (int x = 0; x < a.matRGB.GetLength(0); x++)
            {
                for (int y = 0; y < a.matRGB.GetLength(1); y++)
                {
                    double Re = Convert.ToDouble((x - (a.matRGB.GetLength(0) / 2)) / Convert.ToDouble(a.matRGB.GetLength(0) / 4));
                    double Im = Convert.ToDouble((y - (a.matRGB.GetLength(1) / 2)) / Convert.ToDouble(a.matRGB.GetLength(1) / 4));
                    int    i  = 0;

                    Complexe z = new Complexe(Re, Im);


                    while (i < 100)
                    {
                        double RE2 = z.re * z.re;
                        double IM2 = z.im * z.im;

                        double REIM = 2.0 * z.re * z.im;

                        z.re = RE2 - IM2 + c1;
                        z.im = REIM + c2;



                        if (RE2 * RE2 + IM2 * IM2 > 2)
                        {
                            break;
                        }

                        i++;
                    }

                    if (i < 100)
                    {
                        a.matRGB[x, y] = new Pixel(255 * i / 100, 12 * i / 100, 105 * i / 100);
                    }
                    else
                    {
                        a.matRGB[x, y] = new Pixel(150, 125, 255);
                    }
                }
            }
        }
Пример #2
0
        static void SousMenu3(MyImage a)
        {
            Console.WriteLine("Menu Fractale");
            Console.WriteLine("1 - Fractale de MandelBroot");
            Console.WriteLine("2 - Fractale de Julia");
            Console.WriteLine("3 - Histogramme");
            Console.WriteLine("4 - Coder une image dans une autre");
            Console.WriteLine("5 - Coder puis decoder une image (qu'on vient d'encoder dans une autre)");
            string check = Convert.ToString(Console.ReadLine());
            int    n     = 0;
            bool   verif = int.TryParse(check, out n);

            while ((n != 1 && n != 2 && n != 3 && n != 4 && n != 5) || (verif != true))
            {
                Console.WriteLine("Veuillez saisir soit 1 ou 2 ou 3");
                check = Convert.ToString(Console.ReadLine());
                verif = int.TryParse(check, out n);
            }



            switch (n)
            {
            case 1:
                a.FractaledeMandelBroot();
                break;

            case 2:
                Console.WriteLine("3 Fractale de Julia differente possible:\n 1- etoile, \n 2- fleche \n 3- éclair ");

                check = Convert.ToString(Console.ReadLine());
                n     = 0;
                verif = int.TryParse(check, out n);

                while ((n != 1 && n != 2 && n != 3) || (verif != true))
                {
                    Console.WriteLine("Veuillez saisir soit 1 ou 2 ou 3");
                    check = Convert.ToString(Console.ReadLine());
                    verif = int.TryParse(check, out n);
                }
                switch (n)
                {
                case 1:

                    a.FractaledeJulia(a, -0.70176, -0.3842);
                    break;

                case 2:
                    a.FractaledeJulia(a, -0.8, 0.156);
                    break;

                case 3:
                    a.FractaledeJulia(a, 0, 0.8);
                    break;

                default:
                    break;
                }

                break;

            case 3:
                a.Histogramme();
                break;

            case 4:
                Console.WriteLine("choisissez la photo a cacher dedans avec .bmp : \n 1 - lena.bmp \n 2 - coco.bmp \n 3 - lac.bmp");
                check = Convert.ToString(Console.ReadLine());
                n     = 0;
                verif = int.TryParse(check, out n);

                while ((n != 1 && n != 2 && n != 3) || (verif != true))
                {
                    Console.WriteLine("Veuillez saisir soit 1 ou 2 ou 3");
                    check = Convert.ToString(Console.ReadLine());
                    verif = int.TryParse(check, out n);
                }
                switch (n)
                {
                case 1:
                    Bitmap Im = new Bitmap("lena.bmp");
                    Im.Save("Imageacacher.bmp");
                    MyImage Im1 = new MyImage("Imageacacher.bmp");
                    a.ImageCache(Im1);
                    break;

                case 2:
                    Im = new Bitmap("coco.bmp");
                    Im.Save("Imageacacher.bmp");
                    Im1 = new MyImage("Imageacacher.bmp");
                    a.ImageCache(Im1);
                    break;

                case 3:
                    Im = new Bitmap("lac.bmp");
                    Im.Save("Imageacacher.bmp");
                    Im1 = new MyImage("Imageacacher.bmp");
                    a.ImageCache(Im1);
                    break;

                default:
                    break;
                }



                break;

            case 5:

                Console.WriteLine("choisissez la photo a cacher dedans avec .bmp puis qui sera redecoder dans la foulée : \n 1 - lena.bmp \n 2 - coco.bmp \n 3 - lac.bmp");
                check = Convert.ToString(Console.ReadLine());
                n     = 0;
                verif = int.TryParse(check, out n);

                while ((n != 1 && n != 2 && n != 3) || (verif != true))
                {
                    Console.WriteLine("Veuillez saisir soit 1 ou 2 ou 3");
                    check = Convert.ToString(Console.ReadLine());
                    verif = int.TryParse(check, out n);
                }
                switch (n)
                {
                case 1:
                    Bitmap Im = new Bitmap("lena.bmp");
                    Im.Save("Imageacacher.bmp");
                    MyImage Im1 = new MyImage("Imageacacher.bmp");
                    a.ImageCoderetDecoder(Im1);
                    break;

                case 2:
                    Im = new Bitmap("coco.bmp");
                    Im.Save("Imageacacher.bmp");
                    Im1 = new MyImage("Imageacacher.bmp");
                    a.ImageCoderetDecoder(Im1);
                    break;

                case 3:
                    Im = new Bitmap("lac.bmp");
                    Im.Save("Imageacacher.bmp");
                    Im1 = new MyImage("Imageacacher.bmp");
                    a.ImageCoderetDecoder(Im1);
                    break;

                default:
                    break;
                }


                break;
            }
        }