コード例 #1
0
        private async void extractButton_Click(object sender, EventArgs e)
        {
            bmp = (Bitmap)imagePictureBox.Image;

            var vector = ReadVector(pathVectorTextBox.Text);

            await UpdateWorkOnProgessiveBar();

            string extractedText = LsbProposedHelper.ExtractText(bmp, vector);

            if (encryptCheckBox.Checked)
            {
                try
                {
                    extractedText = Crypto.DecryptStringAES(extractedText, passwordTextBox.Text);
                }
                catch
                {
                    MessageBox.Show("Wrong password", "Error");

                    return;
                }
            }

            dataTextBox.Text   = extractedText;
            progressBar1.Value = 0;
        }
コード例 #2
0
        private async void embedButton_Click(object sender, EventArgs e)
        {
            bmp = (Bitmap)imagePictureBox.Image;

            string text = dataTextBox.Text;

            if (text.Equals(""))
            {
                MessageBox.Show("The text you want to hide can't be empty", "Warning");

                return;
            }

            if (encryptCheckBox.Checked)
            {
                if (passwordTextBox.Text.Length < 6)
                {
                    MessageBox.Show("Please enter a password with at least 6 characters", "Warning");

                    return;
                }
                else
                {
                    text = Crypto.EncryptStringAES(text, passwordTextBox.Text);
                }
            }

            await UpdateWorkOnProgessiveBar();

            bmp = LsbProposedHelper.EmbedText(text, bmp);

            DialogResult dialogResult = MessageBox.Show("Do you want to save the image ?", "Embed Text Successfully!", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

            if (dialogResult == DialogResult.Yes)
            {
                SaveImageAfterEmbed();
            }
            else
            {
                notesLabel.Text      = "Notes: don't forget to save your new image.";
                notesLabel.ForeColor = Color.OrangeRed;
            }

            progressBar1.Value = 0;
        }
コード例 #3
0
        private void clearAllToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (imagePictureBox.Image != null)
            {
                imagePictureBox.Image.Dispose();
                imagePictureBox.Image = Image.FromFile(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, EMPTY_IMAGE));
            }

            passwordTextBox.Text = string.Empty;
            dataTextBox.Text     = string.Empty;

            encryptCheckBox.Checked = false;
            pathVectorTextBox.Text  = string.Empty;
            LsbProposedHelper.ResetVector();

            notesLabel.Text      = "Notes:";
            notesLabel.ForeColor = Color.Black;

            progressBar1.Value = 0;
        }
コード例 #4
0
        private void SaveImageAfterEmbed()
        {
            SaveFileDialog save_dialog = new SaveFileDialog
            {
                Filter = "Png Image|*.png|Bitmap Image|*.bmp"
            };

            if (save_dialog.ShowDialog() == DialogResult.OK)
            {
                switch (save_dialog.FilterIndex)
                {
                case 0:
                {
                    bmp.Save(save_dialog.FileName, ImageFormat.Png);
                    SaveVector(save_dialog);
                }
                break;

                case 1:
                {
                    bmp.Save(save_dialog.FileName, ImageFormat.Png);
                    SaveVector(save_dialog);
                }
                break;

                case 2:
                {
                    bmp.Save(save_dialog.FileName, ImageFormat.Bmp);
                    SaveVector(save_dialog);
                }
                break;
                }

                LsbProposedHelper.ResetVector();
                notesLabel.Text      = "Notes:";
                notesLabel.ForeColor = Color.Black;
            }
        }