/// <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); }
/// <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 }