Example #1
0
        //Filtr - Binaryzacja Niblacka
        private async void lokalnaToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (!Tools.ObrazKolor(obiektObrazek.Kopia))
            {
                progressBar1.Value   = 0;
                progressBar1.Visible = true;
                progressBar1.Maximum = obiektObrazek.Kopia.Width * obiektObrazek.Kopia.Height;
                var progress = new Progress <int>(value =>
                {
                    progressBar1.Value++;
                });
                NiblackResult result = NiblackForm.NiblackExecute();
                if (result.Result == DialogResult.OK)
                {
                    DisableButtons();
                    opcja = 0;
                    obiektObrazek.ClearNext();
                    obiektObrazek.AddOperation_toList(obiektObrazek.Kopia);
                    obiektObrazek.Kopia = await Tools.PerformNiblack(obiektObrazek.Kopia, result.Parametr, result.Wymiary, progress);

                    KopiaPictureBox.Size = obiektObrazek.Kopia.Size;
                    Bitmap obrazek1 = Tools.Zoom(new Bitmap(obiektObrazek.Kopia), zoomFactor);
                    KopiaPictureBox.Size  = obrazek1.Size;
                    KopiaPictureBox.Image = obrazek1;
                    Center();
                    EnableButtons();
                }
            }
            else
            {
                MessageBox.Show("Obraz musi być czarno-biały!", "", MessageBoxButtons.OK, MessageBoxIcon.Error,
                                MessageBoxDefaultButton.Button1);
            }
        }
Example #2
0
        public static NiblackResult NiblackExecute()
        {
            var result = new NiblackResult();

            while (true)
            {
                using (var form = new NiblackForm())
                {
                    form.OkButton.DialogResult     = DialogResult.OK;
                    form.AnulujButton.DialogResult = DialogResult.Cancel;
                    result.Result = form.ShowDialog();
                    if (result.Result == DialogResult.OK)
                    {
                        result.Wymiary  = int.Parse(form.szerokoscTextBox.Text);
                        result.Parametr = parametr;

                        if (nieparzysta)
                        {
                            return(result);
                        }
                        else
                        {
                            MessageBox.Show(@"Wartość okna musi być nieparzysta!", "", MessageBoxButtons.OK, MessageBoxIcon.Error,
                                            MessageBoxDefaultButton.Button1);
                        }
                    }
                    if (result.Result == DialogResult.Cancel)
                    {
                        return(result);
                    }
                }
            }
        }