// Button utk enkripsi teks ke dalam gambar private void btnHide_Click(object sender, EventArgs e) { if (namaFile == "" && txtInOut.Text == "") { MessageBox.Show("Gambar belum dimuat", caption: "ERROR", buttons: MessageBoxButtons.OK, icon: MessageBoxIcon.Error); } else if (txtInOut.Text == "") { MessageBox.Show("Tidak ada pesan untuk ditulis", caption: "ERROR", buttons: MessageBoxButtons.OK, icon: MessageBoxIcon.Error); } else { // Algoritma dilakukan oleh kelas tersendiri (Steganografi) gambarBmpTemp = Steganografi.Hide(txtInOut.Text, gambarBmp); // Menyimpan gambar dengan pesan teks tersembunyi sbg gambar baru SaveFileDialog saveFD = new SaveFileDialog(); saveFD.Title = "Simpan Sebagai"; saveFD.Filter = "Bmp File|*.bmp"; if (saveFD.ShowDialog() == DialogResult.OK) { try { using (MemoryStream memory = new MemoryStream()) { using (FileStream fs = new FileStream(saveFD.FileName, FileMode.Create, FileAccess.ReadWrite)) { gambarBmpTemp.Save(memory, System.Drawing.Imaging.ImageFormat.Bmp); byte[] bytes = memory.ToArray(); fs.Write(bytes, 0, bytes.Length); } } MessageBox.Show("Gambar berhasil disimpan", "STATUS", buttons: MessageBoxButtons.OK, icon: MessageBoxIcon.Information); // Ada bug ketika dekrip gambar yg seharusnya tidak mengandung pesan, jika kode dibawah dihapus :( if (gambarBmp != null) { gambarBmp.Dispose(); } gambarBmp = new Bitmap(namaFile); } catch (Exception err) { MessageBox.Show(err.Message, caption: "ERROR", buttons: MessageBoxButtons.OK, icon: MessageBoxIcon.Error); } } } }
// Button utk dekripsi gambar (menampilkan pesan teks rahasia) private void btnEkstrak_Click(object sender, EventArgs e) { if (namaFile == "") { MessageBox.Show("Gambar belum dimuat", caption: "ERROR", buttons: MessageBoxButtons.OK, icon: MessageBoxIcon.Error); } else { if (Steganografi.Ekstrak(gambarBmp).Length > 20000) { MessageBox.Show("Isi pesan terlalu besar", caption: "ERROR", buttons: MessageBoxButtons.OK, icon: MessageBoxIcon.Error); } else { // Algoritma dilakukan oleh kelas tersendiri (Steganografi) txtInOut.Text = Steganografi.Ekstrak(gambarBmp); lblInOut.Text = "PESAN DALAM GAMBAR:"; } } }