Ejemplo n.º 1
0
        /// <summary>
        ///  metoda obsługująca konwersję obrazka do Sepii za pomocą przycisku convert// metoda obsługująca konwersję obrazka do Sepii za pomocą przycisku convert
        /// </summary>
        /// <param name="sender"> obiekt wysyłanej akcji w przypadku wciśnięcia przycisku</param>
        /// <param name="e"> Obiekt przekazujący informacje o wciśniętym przycisku </param>
        /// return void
        private void ConvertImageButton(object sender, EventArgs e)
        {
            int filterValue = 0;

            Bitmap convertedImage;

            // czyszczenie za każdym załadowaniem obrazka poprzedniego starego obrazka
            model.ClearImage(ConvertImage);

            try
            {
                // przepisywanie obiektu zdjęcia
                convertedImage = new Bitmap(InsertImage.Image);

                // wybranie wartości sepii w comboboxie
                if (SepiaComboBox.SelectedItem != null)
                {
                    // przepisywanie wartości filtru sepii do zmiennej
                    filterValue = int.Parse(SepiaComboBox.SelectedItem.ToString());
                }
                // metoda wyciągająca z obrazka niezbędne dane
                SepiaBitmap(convertedImage, filterValue);
                // ustawienie rozmiaru okna obrazka do "rozciągnietego"
                ConvertImage.SizeMode = PictureBoxSizeMode.StretchImage;
                // ustawienie nowego obrazka w UI
                ConvertImage.Image = convertedImage;
            } catch (Exception)
            {
                MessageBox.Show("Error while trying to convert image!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            // zablokuj możliwość konwersji obrazka na 2 sekundy
            model.DisableButton(3, ConvertButton);
        }
Ejemplo n.º 2
0
        /// <summary>
        ///  metoda obsługująca konwersję obrazka do Sepii za pomocą przycisku convert// metoda obsługująca konwersję obrazka do Sepii za pomocą przycisku convert
        /// </summary>
        /// <param name="sender"> obiekt wysyłanej akcji w przypadku wciśnięcia przycisku</param>
        /// <param name="e"> Obiekt przekazujący informacje o wciśniętym przycisku </param>
        /// <eturns> void </eturns>
        private void ConvertImageButton(object sender, EventArgs e)
        {
            int filterValue = 0;                                                                               // zmienna lokalna do przechowywania informacji o wypełnieniu sepią dla algorytmu. Domyślnie wartość 0.

            int depthValue = 0;                                                                                // zmienna lokalna do przechowywania informacji o wartości głębii efetu sepii dla algorytmu. Domyślnie wartość 0.

            Bitmap bitmapImage;                                                                                // obiekt Bitmap przechowujący informacje o skonwertowanym obrazku przez algorytm dllki.

            // czyszczenie za każdym załadowaniem obrazka poprzedniego starego obrazka
            model.ClearImage(ConvertImage);

            // przepisywanie obiektu zdjęcia
            bitmapImage = new Bitmap(InsertImage.Image);

            try
            {
                // wybranie wartości sepii w comboboxie
                if (SepiaComboBox.SelectedItem != null)                                                       // nie wyrano wartości dla intensywności Sepii
                {
                    // przepisywanie wartości intensywności sepii do zmiennej z comboboxa
                    filterValue = int.Parse(SepiaComboBox.SelectedItem.ToString());
                }

                if (SepiaDepthCombobox.SelectedItem != null)                                                  //  wartość głębi Sepii
                {
                    depthValue = int.Parse(SepiaDepthCombobox.SelectedItem.ToString());                       // ustaw wartość głębi sepii z comboboxa
                }



                if (SepiaBitmap(bitmapImage, filterValue, depthValue))                                            // metoda wyciągająca z obrazka niezbędne dane i rozpoczynająca konwersję na Sepie oraz jednocześnie ustawia boola czy skonwertowano obrazek
                {                                                                                                 // ustawienie rozmiaru okna obrazka do "rozciągnietego"
                    ConvertImage.SizeMode = PictureBoxSizeMode.StretchImage;
                    // ustawienie nowego obrazka w UI
                    ConvertImage.Image = bitmapImage;
                    if (System.IO.Directory.Exists(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)))      // sprawdzenie czy ścieżka do pliku istnieje
                    {
                        bitmapImage.Save(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "//Converted_Image.bmp");
                    }
                    // zapisywanie obrazka o formacie Bmp jako "Converted_Image"
                }
            }
            catch (Exception)                                                                                                 // łapanie wyjątków podczas błędów ładowania konwersji obrazka aplikacji oraz wyświetlanie informacji o błędzie dla użytkownika
            {
                MessageBox.Show("Error while trying to convert image!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); // wyświetlenie wiadomości o niepowodzeniu konwersji
            }

            model.DisableButton(2, ConvertButton);                                                                  // wylączenie przycisku na 2 sekundy
        }