Esempio n. 1
0
        //-----------------------------------------------------------------------------

        private void LoadBitmap_Click(object sender, EventArgs e)    // Funkcja przeprowadzająca proces wybrania i wyświetlenia bitmapy w programie.
        {
            string path = "";                                        // Zmienna przechowująca ścieżkę do bitmapy.
            int    imageWidth;                                       // Szerokość bitmapy.
            int    imageHeight;                                      // Wysokość bitmapy.

            DialogResult result = OpenFileDIalogBitmap.ShowDialog(); // Eksplorator plików.

            if (result == DialogResult.OK)
            {
                correctFile = false;                                    // Plik nie został jeszcze poprawnie wczytany.
                path        = OpenFileDIalogBitmap.FileName;            // Przypisanie ścieżki do wybranego pliku.
                try
                {
                    BmpPath.Text       = path;                          // Wyświetlenie wybranej ścieżki w programie.
                    loaded             = new Bitmap(path);              // Załadowanie pliku z podanej ścieżki.
                    LoadedImage.Image  = loaded;                        // Wyświetlenie pliku w programie.
                    imageWidth         = LoadedImage.Image.Size.Width;  // Wczytanie szerokości bitmapy.
                    imageHeight        = LoadedImage.Image.Size.Height; // Wczytanie wysokości bitmapy.
                    LoadedBoxInfo.Text = ("Height: " + imageHeight);    // Wyświetlenie informacji o wczytanym pliku.
                    LoadedBoxInfo.AppendText(Environment.NewLine);
                    LoadedBoxInfo.Text  += ("Width: " + imageWidth);
                    LoadedImage.SizeMode = PictureBoxSizeMode.Zoom;     // Ustawienie wyświetlanego obrazka w centrum pola.
                    correctFile          = true;                        // Wczytany został prawidłowy plik (obraz).
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "Error");
                }
            }
        }
Esempio n. 2
0
 private void GenerateButton_Click(object sender, EventArgs e)
 // Funkcja koordynująca proces wczytywania bitmapy do pamięci (w postaci tabeli wartości pikseli) oraz generowania
 // nowych wartości.
 {
     try
     {
         if (!correctFile)                                           // Jeśli nie został wczytany poprawny plik.
         {
             MessageBox.Show("Load image first!", "Error");
             return;
         }
         int newWidth  = Convert.ToInt32(NewWidthBox.Text);                                         // Wczytanie szerokości nowej bitmapy.
         int newHeight = Convert.ToInt32(NewHeightBox.Text);                                        // Wczytanie wysokości nowej bitmapy.
         clockLoaded = Stopwatch.StartNew();                                                        // Rozpoczęcie zliczania taktów procesora.
         long[] table = LoadBitmapComponents(loaded);                                               // Wczytanie do tabeli wartości pikseli załadowanej bitmapy.
         clockLoaded.Stop();                                                                        // Zakończenie zliczania taktów procesora - czas wczytywania bitmapy (wartości pikseli) do tabeli.
         long[] table2 = changeBitmap(table, newWidth, newHeight);                                  // Wyznaczenie wartości pikseli nowotworzonej bitmapy i wczytanie ich do tabeli.
         generated          = SetBitmapComponents(table2, newWidth, newHeight, loaded.PixelFormat); // Tworzenie nowej bitmapy na podstawie wartości pikseli w tabeli.
         LoadedBoxInfo.Text = ("Height: " + LoadedImage.Image.Size.Height);                         // Wypisanie wysokości załadowanego obrazu do programu.
         LoadedBoxInfo.AppendText(Environment.NewLine);
         LoadedBoxInfo.Text  += ("Width: " + LoadedImage.Image.Size.Width);                         // Wypisanie szerokości załadowanego obrazu do programu.
         GeneratedImage.Image = generated;                                                          // Wyświetlenie utworzonej bitmapy.
         LoadedBoxInfo.AppendText(Environment.NewLine);
         // Wypisanie informacji o czasie wczytywania bitmapy do tabeli.
         LoadedBoxInfo.Text   += ("Loading bitmap to memory time: " + clockLoaded.Elapsed.TotalMilliseconds.ToString() + " ms " + clockLoaded.ElapsedTicks.ToString() + " ticks");
         GeneratedBoxInfo.Text = ("Height: " + GeneratedImage.Image.Size.Height);            // Wypisanie wysokości utworzonego obrazu w programie.
         GeneratedBoxInfo.AppendText(Environment.NewLine);
         GeneratedBoxInfo.Text += ("Width: " + GeneratedImage.Image.Size.Width);             // Wypisanie szerokości utworzonego obrazu w programie.
         GeneratedBoxInfo.AppendText(Environment.NewLine);
         // Wypisanie informacji o czasie generowania nowej bitmapy.
         GeneratedBoxInfo.Text  += ("Generation time: " + clockGenerated.Elapsed.TotalMilliseconds.ToString() + " ms " + clockGenerated.ElapsedTicks.ToString() + " ticks");
         GeneratedImage.SizeMode = PictureBoxSizeMode.Zoom;
         imageIsGenerated        = true;
     }
     catch (FormatException)
     {
         MessageBox.Show("Wrong height or width parameter entered!", "Error");               // Informacja o błędzie.
     }
     catch (Exception)
     {
         MessageBox.Show("Wrong bitmap type entered.", "Error");                                  // Informacja o błędzie.
     }
 }