Example #1
0
        public Treshold(ImageWindow iw)
        {
            InitializeComponent();
            this.iw = iw;
            MdiParent = iw.MdiParent;
            Text = Text + " " + iw.Text;
            HistogramImage.Image = new Bitmap(HistogramImage.Width, HistogramImage.Height);
            LUT = (UInt32[,])iw.LUT.Clone();

            max = 0;
            for (int i = 0; i < 256; i++)
            {
                if (LUT[0, i] > max) max = LUT[0, i];
                if (LUT[1, i] > max) max = LUT[1, i];
                if (LUT[2, i] > max) max = LUT[2, i];
                if (LUT[3, i] > max) max = LUT[3, i];
            }

            prevImg = iw.getBitmap();
            iw.Treshold(ZipVal.Value,Reverse.Checked);
            hHeight = HistogramImage.Height;
            hWidth = HistogramImage.Width;
            x_scale = ((float)hWidth - 10.0F) / 256.0F;
            y_scale = ((float)hHeight - 15.0F) / (float)max;

            DrawHistogram();
            Show();
        }
Example #2
0
        public Median(ImageWindow iw)
        {
            InitializeComponent();
            MdiParent = iw.MdiParent;
            prevImage = iw.getBitmap();
            this.iw = iw;

            xSize_ValueChanged();
            Show();
        }
Example #3
0
        public Gamma(ImageWindow iw)
        {
            InitializeComponent();
            this.iw = iw;
            MdiParent = iw.MdiParent;
            Text = Text + " " + iw.Text;
            prevImg = iw.getBitmap();

            iw.Gamma(ZipVal.Value);
            Show();
        }
Example #4
0
        public Brightness(ImageWindow iw)
        {
            InitializeComponent();
            this.iw = iw;
            MdiParent = iw.MdiParent;
            Text = Text + " " + iw.Text;
            prevImg = iw.getBitmap();

            iw.Brightness(ZipVal.Value - 101);
            Show();
        }
Example #5
0
 // open new file with image
 private void MenuFile_Open_Click(object sender, EventArgs e)
 {
     OpenFileDialog FileOpen = new OpenFileDialog();
     FileOpen.Title = "Open Image File";
     FileOpen.Filter = "JPEG (*.jpg)|*.jpg|Bitmap (*.bmp)|*.bmp|TIFF (*.tiff)|*.tiff|All (*.*)|*.*";
     DialogResult Result = FileOpen.ShowDialog();
     if (Result == DialogResult.OK)
     {
         ImageWindow img = new ImageWindow(this, FileOpen.FileName);
     }
     else FileOpen.Dispose();
 }
Example #6
0
        // take Image from another ImageWindow
        public ImageWindow(ImageWindow iw)
        {
            InitializeComponent();
            MdiParent = iw.MdiParent;
            Picture.Image = iw.getBitmap();

            Text = iw.Text + " (" + iw.CopyNumber++.ToString() + ")";
            LUT = (UInt32[,])iw.LUT.Clone();
            Width = iw.Width;
            Height = iw.Height;
            Show();
        }
Example #7
0
        public Calculation(ImageWindow iw)
        {
            InitializeComponent();
            MdiParent = iw.MdiParent;

            List<ImageWindow> iwl = MdiParent.MdiChildren.OfType<ImageWindow>().ToList<ImageWindow>();

            Image1.DataSource = iwl;
            Image1.DisplayMember = "Text";
            Image2.BindingContext = new BindingContext();
            Image2.DataSource = iwl;
            Image2.DisplayMember = "Text";
            Operation.SelectedIndex = 0;

            Show();
        }
Example #8
0
        public Compression(ImageWindow iw)
        {
            InitializeComponent();
            picture = iw.getBitmap();
            before_size = picture.Width * picture.Height;
            bSize.Text = before_size.ToString();
            MdiParent = iw.MdiParent;
            Compressor.SelectedIndex = 0;
            z = 0;
            x = 2;
            counter = 0;
            after = 0;
            power = 2;
            how_many = 0;
            budujTablice();

            Show();
        }
Example #9
0
        public Filters(ImageWindow iw)
        {
            InitializeComponent();
            b[0, 0] = t00;
            b[0, 1] = t01;
            b[0, 2] = t02;
            b[1, 0] = t10;
            b[1, 1] = t11;
            b[1, 2] = t12;
            b[2, 0] = t20;
            b[2, 1] = t21;
            b[2, 2] = t22;

            Preset.SelectedIndex = 0;
            stopEvents = false;

            this.iw = iw;
            MdiParent = iw.MdiParent;
            Show();
        }
Example #10
0
        public Histogram(ImageWindow iw)
        {
            InitializeComponent();
            MdiParent = iw.MdiParent;
            Text = Text + " " + iw.Text;
            image = iw.getBitmap();
            HistogramImage.Image = new Bitmap(HistogramImage.Width, HistogramImage.Height);
            LUT = (UInt32[,])iw.LUT.Clone();

            max = 0;
            for (int i = 0; i < 256; i++)
            {
                if (LUT[0, i] > max) max = LUT[0, i];
                if (LUT[1, i] > max) max = LUT[1, i];
                if (LUT[2, i] > max) max = LUT[2, i];
                if (LUT[3, i] > max) max = LUT[3, i];
            }

            Histogram_ResizeEnd();
            Show();
        }
Example #11
0
        // check whether active MDIChild is a ImageWindow and sets up availability menu fields
        public void check(object sender=null, EventArgs e=null)
        {
            if (ActiveMdiChild is ImageWindow)
            {
                aiw = (ImageWindow)ActiveMdiChild;
                
                // Menu image
                MenuImage.Enabled = true;

                if (aiw.checkUndo()) MenuImage_Undo.Enabled = true; // if exists previous version of image
                else MenuImage_Undo.Enabled = false;

                MenuImage_Duplicate.Enabled = true;
                MenuImage_Histogram.Enabled = true;
                
                // Menu file
                MenuFile_SaveAs.Enabled = true;
                if (aiw.getFilepath() != null) MenuFile_Save.Enabled = true; // if image was opened, not duplicated
                else MenuFile_Save.Enabled = false;

                // Menu operations
                MenuOperations.Enabled = true;

                MenuOper_Calculation.Enabled = true;
                MenuOper_Filters.Enabled = true;
                
                // adjustment submenu
                MenuOper_Adj_Gamma.Enabled = true;
                MenuOper_Adj_Contrast.Enabled = true;
                MenuOper_Adj_Brightness.Enabled = true;
                MenuOper_Adj_Greyscale.Enabled = true;
                MenuOper_Adj_Negative.Enabled = true;
                MenuOper_Adj_Treshold.Enabled = true;
                MenuOper_Adj_Posterize.Enabled = true;

                // equalization submenu
                MenuOper_Equ_Average.Enabled = true;
                MenuOper_Equ_Random.Enabled = true;
                MenuOper_Equ_Neighbor.Enabled = true;
                

                

                return;
            }
            aiw = null;

            // Menu image
            MenuImage.Enabled = false;

            MenuImage_Undo.Enabled = false;

            MenuImage_Duplicate.Enabled = false;
            MenuImage_Histogram.Enabled = false;

            // Menu file
            MenuFile_SaveAs.Enabled = false;
            MenuFile_Save.Enabled = false;

            // Menu operations
            MenuOperations.Enabled = false;

            MenuOper_Calculation.Enabled = false;
            MenuOper_Filters.Enabled = false;

            // adjustment submenu
            MenuOper_Adj_Gamma.Enabled = false;
            MenuOper_Adj_Contrast.Enabled = false;
            MenuOper_Adj_Brightness.Enabled = false;
            MenuOper_Adj_Greyscale.Enabled = false;
            MenuOper_Adj_Negative.Enabled = false;
            MenuOper_Adj_Treshold.Enabled = false;
            MenuOper_Adj_Posterize.Enabled = false;

            // equalization submenu
            MenuOper_Equ_Average.Enabled = false;
            MenuOper_Equ_Random.Enabled = false;
            MenuOper_Equ_Neighbor.Enabled = false;
        }
Example #12
0
        // check whether active MDIChild is a ImageWindow and sets up availability menu fields
        public void check(object sender = null, EventArgs e = null)
        {
            if (ActiveMdiChild is ImageWindow)
            {
                aiw = (ImageWindow)ActiveMdiChild;

                // Menu image
                MenuImage.Enabled = true;

                if (aiw.checkUndo())
                {
                    MenuImage_Undo.Enabled = true;                  // if exists previous version of image
                }
                else
                {
                    MenuImage_Undo.Enabled = false;
                }

                MenuImage_Duplicate.Enabled = true;
                MenuImage_Histogram.Enabled = true;

                // Menu file
                MenuFile_SaveAs.Enabled = true;
                if (aiw.getFilepath() != null)
                {
                    MenuFile_Save.Enabled = true;                            // if image was opened, not duplicated
                }
                else
                {
                    MenuFile_Save.Enabled = false;
                }

                // Menu operations
                MenuOperations.Enabled = true;

                MenuOper_Calculation.Enabled = true;
                MenuOper_Filters.Enabled     = true;

                // adjustment submenu
                MenuOper_Adj_Gamma.Enabled      = true;
                MenuOper_Adj_Contrast.Enabled   = true;
                MenuOper_Adj_Brightness.Enabled = true;
                MenuOper_Adj_Greyscale.Enabled  = true;
                MenuOper_Adj_Negative.Enabled   = true;
                MenuOper_Adj_Treshold.Enabled   = true;
                MenuOper_Adj_Posterize.Enabled  = true;

                // equalization submenu
                MenuOper_Equ_Average.Enabled  = true;
                MenuOper_Equ_Random.Enabled   = true;
                MenuOper_Equ_Neighbor.Enabled = true;



                return;
            }
            aiw = null;

            // Menu image
            MenuImage.Enabled = false;

            MenuImage_Undo.Enabled = false;

            MenuImage_Duplicate.Enabled = false;
            MenuImage_Histogram.Enabled = false;

            // Menu file
            MenuFile_SaveAs.Enabled = false;
            MenuFile_Save.Enabled   = false;

            // Menu operations
            MenuOperations.Enabled = false;

            MenuOper_Calculation.Enabled = false;
            MenuOper_Filters.Enabled     = false;

            // adjustment submenu
            MenuOper_Adj_Gamma.Enabled      = false;
            MenuOper_Adj_Contrast.Enabled   = false;
            MenuOper_Adj_Brightness.Enabled = false;
            MenuOper_Adj_Greyscale.Enabled  = false;
            MenuOper_Adj_Negative.Enabled   = false;
            MenuOper_Adj_Treshold.Enabled   = false;
            MenuOper_Adj_Posterize.Enabled  = false;

            // equalization submenu
            MenuOper_Equ_Average.Enabled  = false;
            MenuOper_Equ_Random.Enabled   = false;
            MenuOper_Equ_Neighbor.Enabled = false;
        }
Example #13
0
        private void saveAsGifToolStripMenuItem_Click(object sender, EventArgs e)
        {
            String savedgif = null;
            saveFileDialog1.FileName = "animation.gif";
            if (saveFileDialog1.ShowDialog() == DialogResult.OK)
            {

                savedgif = saveFileDialog1.FileName;

                String[] images = new String[arrayOfImages.Length];
                String log = "";
                int i = 0;
                String tmpDir = @"tmp\";
                if(Directory.Exists(@"tmp\")){

                } else {
                    Directory.CreateDirectory(@"tmp\");
                }
                using (ImageMagick.MagickImageCollection collection = new MagickImageCollection())
                {

                    foreach (PictureBox image in arrayOfImages)
                    {
                        Bitmap temp = (Bitmap)image.Image;
                        String name = tmpDir +"img" + i + ".png";
                       temp.Save(name);
                        images[i] = name;
                        i += 1;
                    }

                    foreach (String s in images)
                    {
                       collection.Add(s);
                       collection.Write(savedgif);
                        log += s;
                    }

                   // MessageBox.Show(log);

                    ImageWindow pos = new ImageWindow(wind, savedgif);
                }
            }
        }