private void startExtractButton_Click(object sender, EventArgs e) { ISteganographyAlgorithm steganography = new LeastSignificantBit(); Bitmap image; try { image = steganography.GetBitmap(ImagePath); } catch (Exception) { MessageBox.Show("Podaj poprawną ścieżkę do obrazu!", "Błąd", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (textOutputRadio.Checked) { outputDataRichTextBox.Text = steganography.ExtractText(image, Settings); } else { byte[] data = steganography.ExtractBytes(image, Settings); SaveFileDialog dialog = new SaveFileDialog(); dialog.Title = "Zapisz odzyskane dane do pliku"; if (dialog.ShowDialog() == DialogResult.OK) { File.WriteAllBytes(dialog.FileName, data); Process.Start(dialog.FileName); } } }
private void startButton_Click(object sender, EventArgs e) { ISteganographyAlgorithm steganography = new LeastSignificantBit(); Bitmap image; Bitmap newImage; try { image = steganography.GetBitmap(ImagePath); } catch (Exception) { MessageBox.Show("Podaj poprawną ścieżkę do obrazu!", "Błąd", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (textInputRadio.Checked) { string message = inputDataRichTextBox.Text; if (String.IsNullOrEmpty(message)) { MessageBox.Show("Podaj tekst do ukrycia w obrazie!", "Błąd", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (BitmapConverter.CalculateOffset(Settings.OffsetX, Settings.OffsetY, image.Width, image.Height, Settings.Direction) + message.Length * 3 > image.Width * image.Height) { MessageBox.Show("Podany tekst jest zbyt duży!", "Błąd", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } newImage = steganography.HideText(message, image, Settings); } else { byte[] data; try { data = File.ReadAllBytes(DataFilePath); } catch (Exception) { MessageBox.Show("Podaj poprawną ścieżkę do pliku!", "Błąd", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (BitmapConverter.CalculateOffset(Settings.OffsetX, Settings.OffsetY, image.Width, image.Height, Settings.Direction) + data.Length * 3 > image.Width * image.Height) { MessageBox.Show("Podany tekst jest zbyt duży!", "Błąd", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } newImage = steganography.HideBytes(data, image, Settings); } SaveFileDialog dialog = new SaveFileDialog(); dialog.Title = "Zapisz nowy obraz i ustawienia algorytmu."; dialog.Filter = "BMP Image (*.bmp)|*.bmp"; dialog.DefaultExt = ".bmp"; if (dialog.ShowDialog() == DialogResult.OK) { newImage.Save(dialog.FileName, ImageFormat.Bmp); Settings.Save(dialog.FileName + ".json"); Process.Start(dialog.FileName); } }