// функция вызова второго метода public void Method2_KochZhao() { labelAttention.Text = ""; if (bMap == null) { labelAttention.Text = "Вставьте изображение!"; // проверка на наличие изображения } else { if (textBox1.Text != "") // проверка на наличие текста { try // проверка на выбор всех параметров { Colours colour = (Colours)ColourBox2.SelectedIndex; // цвет задаем в соответвии с выбранным в comboBox3, приводя к перечислению Colours bool findText = KochZhao.IsHiddenText(bMap, colour); // проверка на наличие уже внедренного текста if (!findText || Attention(findText)) { bMapSteg = KochZhao.Hide(bMap, textBox1.Text, colour, Convert.ToInt32(CoefDiffBox.SelectedItem.ToString())); // создаем новый объект StegoBitmap, хранящий в себе скрытый текст pictureBox2.Image = bMapSteg.GetImage(); // задаем изображение в pictureBox2 } } catch (NullReferenceException) { string message = "Не выбраны все параметры для сокрытия текста"; string caption = "Отсутствие одного из параметров"; MessageBoxButtons button = MessageBoxButtons.OK; DialogResult res = MessageBox.Show(message, caption, button); // отобразить MessageBox } catch (Exception) { labelAttention.Text = "Что-то пошло не так, попробуйте позже"; //в случае какой-то неполадки } } else { labelAttention.Text = "Введите текст!"; // при отсутствии текста } } }
// кнопка 'DECODE' private void button4_Click(object sender, EventArgs e) { labelAttention.Text = ""; if (bMap == null) { labelAttention.Text = "Вставьте изображение!"; // проверка на наличие изображения } else { if (methodButton1.Checked) // проверка по методу LSB { try { if (LSB.IsHiddenText(bMap, out Colours c)) { textBox1.Text = LSB.GetHiddenText(bMap, c); // получаем и выводим скрытый текст labelAttention.Text = "Скрытый текст найден"; } else { labelAttention.Text = "В изображении отсутствует скрытый текст по данному методу";// отсутствие скрытого текста } } catch (Exception) { labelAttention.Text = "Что-то пошло не так, попробуйте позже"; //в случае какой-то неполадки } } else if (methodButton2.Checked) // проверка по методу Коха-Жао { try // проверка на выбор цвета { Colours colour = (Colours)ColourBox2.SelectedIndex; // цвет задаем в соответвии с выбранным в comboBox1, приводя к перечислению Colours textBox1.Text = KochZhao.GetHiddenText(bMap, colour); // получаем и выводим скрытый текст if (textBox1.Text != "") { labelAttention.Text = "Скрытый текст найден"; } else { labelAttention.Text = "В изображении отсутствует скрытый текст по данному методу";// отсутствие скрытого текста } } catch (NullReferenceException) { string message = "Проверка по методу Коха-Жао. Выберите цвет для выявления текста в разделе соответствующего метода"; string caption = "Отсутствие цвета"; MessageBoxButtons button = MessageBoxButtons.OK; DialogResult diaRes = MessageBox.Show(message, caption, button); // отобразить MessageBox } catch (Exception) { labelAttention.Text = "Что-то пошло не так, попробуйте позже"; //в случае какой-то неполадки } } else if (methodButton3.Checked) // проверка по методу Бенгама { try // проверка на выбор цвета { Colours colour = (Colours)ColourBox3.SelectedIndex; // цвет задаем в соответвии с выбранным в comboBox3, приводя к перечислению Colour textBox1.Text = Benham.GetHiddenText(bMap, colour); // получаем и выводим скрытый текст if (textBox1.Text != "") { labelAttention.Text = "Скрытый текст найден"; } else { labelAttention.Text = "В изображении отсутствует скрытый текст по данному методу";// отсутствие скрытого текста } } catch (NullReferenceException) { string message = "Проверка по методу Бенгама. Выберите цвет для выявления текста в разделе соответствующего метода"; string caption = "Отсутствие цвета"; MessageBoxButtons button = MessageBoxButtons.OK; DialogResult res = MessageBox.Show(message, caption, button); // отобразить MessageBox } catch (Exception) { labelAttention.Text = "Что-то пошло не так, попробуйте позже"; //в случае какой-то неполадки } } else { labelAttention.Text = "Не выбран метод для поиска текста в изображении"; } } }