Exemplo n.º 1
0
        public static void RunAlgorithm()
        {
            if (currentIteration >= MAX_ITERATIONS)
            {
                Wykres.NotifyAlgorithmFinished(currentIteration,
                                               currentGens.OrderBy(point => point.GetFunctionValue()).First().GetFunctionValue());
                return;
            }

            List <MyPoint2D> nextGens = new List <MyPoint2D>();

            for (int i = 0; i < LAMBDA; i++)
            {
                MyPoint2D nextGenPoint = GetBestCurrentPointUsingTournament();
                nextGens.Add(MutatePoint(nextGenPoint));
            }

            List <MyPoint2D> muAndLambda = new List <MyPoint2D>(currentGens);

            muAndLambda.AddRange(nextGens);
            currentGens = muAndLambda.OrderByDescending(point => point.GetFunctionValue()).Take(MU).ToList();

            Wykres.NotifyNewDataCalculated(currentIteration + 1,
                                           currentGens.OrderBy(point => point.GetFunctionValue()).First().GetFunctionValue());
            currentIteration++;
        }
Exemplo n.º 2
0
        public void ustaw(WykresModel wykres)
        {
            Wykres ustawienia_wykresu = new Wykres();


            float najmniejszaWartosc_y = wykres.get_y(0);
            float najwiekszaWartosc_y  = wykres.get_y(0);

            float najmniejszaWartosc_x = wykres.get_x(0);
            float najwiekszaWartosc_x  = wykres.get_x(0);


            for (int i = 0; i < wykres.punkty.Count; i++)
            {
                if (wykres.get_y(i) > najwiekszaWartosc_y)
                {
                    najwiekszaWartosc_y         = wykres.get_y(i);
                    ustawienia_wykresu.pik_mapa = i;
                }

                if (wykres.get_y(i) < najmniejszaWartosc_y)
                {
                    najmniejszaWartosc_y = wykres.get_y(i);
                }
            }


            for (int i = 0; i < wykres.punkty.Count; i++)
            {
                if (wykres.get_x(i) > najwiekszaWartosc_x)
                {
                    najwiekszaWartosc_x = wykres.get_x(i);
                }


                if (wykres.get_x(i) < najmniejszaWartosc_x)
                {
                    najmniejszaWartosc_x = wykres.get_x(i);
                }
            }
            ustawienia_wykresu.najmniejsza_x   = najmniejszaWartosc_x;
            ustawienia_wykresu.najwieksza_x    = najwiekszaWartosc_x;
            ustawienia_wykresu.podzialka_x     = (najwiekszaWartosc_x - najmniejszaWartosc_x) / 16;
            ustawienia_wykresu.zakres_wykresuX = najwiekszaWartosc_x - najmniejszaWartosc_x;

            ustawienia_wykresu.zakres_wykresuY = najwiekszaWartosc_y - najmniejszaWartosc_y;
            ustawienia_wykresu.najmniejsza_y   = najmniejszaWartosc_y;
            ustawienia_wykresu.najwieksza_y    = najwiekszaWartosc_y;
            ustawienia_wykresu.podzialka_y     = (najwiekszaWartosc_y - najmniejszaWartosc_y) / 18;


            ustawienia.Add(ustawienia_wykresu);
        }
Exemplo n.º 3
0
        private void ZaladujZak_Click(object sender, EventArgs e)
        {
            int liczba;             // usuń to
            int liczba2;
            int x, y;

            DialogResult res = openFileDialog1.ShowDialog(this);

            if (res == DialogResult.OK)
            {
                nazwa_zakodowany = openFileDialog1.FileName;

                Steganografia sprawdzMaske = new Steganografia(Image.FromFile(nazwa_zakodowany));
                int []        maskaInfo    = sprawdzMaske.ReadInfoMask();
                liczba = maskaInfo[1];
                if (maskaInfo[0] == identyfikator)
                {
                    ZakObraz.Image = Image.FromFile(nazwa_zakodowany);
                    x       = ZakObraz.Image.Height;
                    y       = ZakObraz.Image.Width;
                    liczba2 = (x * y * (maskaInfo[2] + maskaInfo[3] + maskaInfo[4]) - 90) / 8;
                }
                else
                {
                    MessageBox.Show("Brak zakodowanej informacji w podanym obrazie!\nZaładuj obraz zawierający ukryte dane.", "Brak ukrytych informacji", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return;
                }
            }
            else
            {
                return;
            }

            string[] nazwa;
            nazwa            = nazwa_zakodowany.Split('\\');
            nazwa_zakodowany = nazwa[nazwa.Length - 1];


            pamiec_zajeta = liczba;
            pamiec_cala   = liczba2;

            Wykres.Chart(new float[] { pamiec_zajeta, pamiec_cala - pamiec_zajeta });

            zakodowanyInfo.Text        = "\nNazwa: " + nazwa_zakodowany + "\n" + "Rozmiar: (" + x + "x" + y + ")\n";
            toolStripStatusLabel1.Text = "Pomyślnie wprowadzono plik z obrazem: " + "'" + nazwa_oryginalny + "'";
        }
        private void Wykres_MouseMove(object sender, MouseEventArgs e) // odczytywanie wartości z wykresu
        {
            Point mousePoint = new Point(e.X, e.Y);

            // ustawienie poczatkowe kursora myszy
            Wykres.ChartAreas[0].CursorX.Interval = 0;
            Wykres.ChartAreas[0].CursorY.Interval = 0;

            // krzyż pikselowej pozycji kursora
            Wykres.ChartAreas[0].CursorX.SetCursorPixelPosition(mousePoint, true);
            Wykres.ChartAreas[0].CursorY.SetCursorPixelPosition(mousePoint, true);

            // najechanie na krzywą kursorem - hit test
            HitTestResult result = Wykres.HitTest(e.X, e.Y);

            // warunek hit testu jeżeli jest rezultat i jeżeli jesteś na powierzchni wykresu
            if (result.PointIndex > -1 && result.ChartArea != null)
            {
                // odczytywanie wartości z wykresu
                label11.Text = "H [m] = " + result.Series.Points[result.PointIndex].YValues[0].ToString();
                label12.Text = "Q [m3/s] = " + result.Series.Points[result.PointIndex].XValue.ToString();
            }
        }
Exemplo n.º 5
0
        private void zakoduj_Click(object sender, EventArgs e)
        {
            //sprawdzonko
            if (text1.Text == "")
            {
                MessageBox.Show("Nie wszystkie pola zostały uzupełnione!!!", "Brak danych", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
            //czy wybrano obrazek
            if (OryObraz.Image == null)
            {
                MessageBox.Show("Nie wszystkie pola zostały uzupełnione!!!", "Brak danych", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }

            if (pamiec_zajeta > pamiec_cala)
            {
                MessageBox.Show("Brak wystarczającej ilości wolnej pamięci na nośniku!!!", "Brak miejsca", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }

            Steganografia koduj = new Steganografia(text1.Text, OryObraz.Image, R, G, B);

            koduj.zakoduj_w_obrazie();

            Bitmap bmp = koduj.pobierzObraz();

            ZakObraz.Image = bmp;

            toolStripStatusLabel1.Text = "Pomyślnie zakodowano plik tekstowy: " + "'" + nazwa_text + "'" + " w obrazie: " + "'" + nazwa_oryginalny + "'";

            // Zapis na dysk
            string odp = MessageBox.Show("Zakończono proces kodowania.\nZapisać wynik na dysku?", "Zapisywanie", MessageBoxButtons.YesNo, MessageBoxIcon.Question).ToString();

            if (odp == "Yes")
            {
                DialogResult res = saveFileDialog1.ShowDialog(this);
                if (res == DialogResult.OK)
                {
                    nazwa_zakodowany = saveFileDialog1.FileName;
                    bmp.Save(nazwa_zakodowany);
                }
                else
                {
                    return;
                }

                string[] nazwa;
                nazwa            = nazwa_zakodowany.Split('\\');
                nazwa_zakodowany = nazwa[nazwa.Length - 1];
            }
            else
            {
                nazwa_zakodowany = nazwa_oryginalny;
            }


            Wykres.Chart(new float[] { pamiec_zajeta, pamiec_cala - pamiec_zajeta });

            int x = ZakObraz.Image.Width;
            int y = ZakObraz.Image.Height;

            zakodowanyInfo.Text = "\nNazwa: " + nazwa_zakodowany + "\n" + "Rozmiar: (" + x + "x" + y + ")\n";
        }