Ejemplo n.º 1
0
 private void pictureBox1_MouseUp(object sender, MouseEventArgs e)
 {
     if (rectNew.Width - 1 > 0 && rectNew.Height - 1 > 0 && bitmapSource != null)
     {
         pointEndX    = e.X;
         pointEndY    = e.Y;
         bitmapSource = bitmap;
         ImageSampleEntity imagesample    = new ImageSampleEntity();
         Bitmap            newbitmap      = new Bitmap(rectNew.Width - 1, rectNew.Height - 1);
         Bitmap            chartstacktemp = new Bitmap(pictureBox1.Width, pictureBox1.Height);
         pictureBox1.DrawToBitmap(chartstacktemp, new Rectangle(0, 0, pictureBox1.Width, pictureBox1.Height));
         chartstack.Add(chartstacktemp);
         g = Graphics.FromImage(newbitmap);
         g.DrawImage(bitmap, pictureBox1.Left - rectNew.Location.X - pictureBox1.Left - 1, pictureBox1.Top - rectNew.Location.Y - pictureBox1.Top - 1);
         g.Dispose();
         newbitmap.Save(Environment.CurrentDirectory + "\\image\\" + DateTime.Now.ToString("yyyyMMddhhmmss") + ".jpg");
         tempform.chartstack  = chartstack;
         tempform.rectNew     = rectNew;
         tempform.pointStartX = pointStartX;
         tempform.pointStartY = pointStartY;
         tempform.pointEndX   = pointEndX;
         tempform.pointEndY   = pointEndY;
         tempform.frameheight = frameheight;
         tempform.framewidth  = framewidth;
         Settingimageentity tempentity = new Settingimageentity();
         tempentity.setimage(newbitmap);
         tempentity.setparamatername(name);
         tempform.paramatername = name;
         tempform.list1.Add(tempentity);
         for (int k = 0; k < tempform.methodtemp.getsettinglist().Count; k++)
         {
             if (((Settingentity)tempform.methodtemp.getsettinglist()[k]).getparamatername() == name)
             {
                 Settingentity settingentity = ((Settingentity)tempform.methodtemp.getsettinglist()[k]);
                 settingentity.getImageSample().setimagesample(rectNew.X * framewidth, rectNew.Y * frameheight, rectNew.Width * framewidth, rectNew.Height * frameheight);
                 tempform.paramatertype = ((Settingentity)tempform.methodtemp.getsettinglist()[k]).getlinevalue();
                 tempentity.setparamatertype(((Settingentity)tempform.methodtemp.getsettinglist()[k]).getlinevalue());
             }
         }
         tempform.neededboxes--;
         tempform.settingdetectsectionneededvaluelabel.Text = tempform.neededboxes.ToString();
     }
 }
Ejemplo n.º 2
0
 public Controlzoneentity(Bitmap imagevalue, Settingentity tempvalue, int tempframewidth, int tempframeheight)//set different areas for the control line and the test line
 {
     InitializeComponent();
     if (Form1.language != "")
     {
         refreshlanguage(Form1.language);
     }
     image        = imagevalue;
     orginalimage = (Bitmap)imagevalue.Clone();
     image        = new Bitmap(image, new Size(pictureBox1.Height, pictureBox1.Width));
     image.RotateFlip(RotateFlipType.Rotate270FlipNone);
     pictureBox1.Image = image;
     chartstack.Add(image);
     comboBox1.SelectedIndex = 4;
     controlradiobtn.Checked = true;
     settingentity           = tempvalue;
     settingentity.getImageSample().getcontrolzonelist().Clear();
     framewidth  = tempframewidth;
     frameheight = tempframeheight;
 }
Ejemplo n.º 3
0
        private void contorlzoneentityfinsihbtn_Click(object sender, EventArgs e)
        {
            string tempcatgory;

            if (controlradiobtn.Checked && mark == 0)
            {
                tempcatgory           = "control";
                testtradiobtn.Checked = true;
                mark = 1;
            }
            else
            {
                tempcatgory = "test";
            }
            Setzoneentity setzonetemp = new Setzoneentity((recstartY * orginalimage.Width / pictureBox1.Height) * framewidth, (recstartX * orginalimage.Height / pictureBox1.Width) * frameheight, ((recendY - recstartY - 1) * orginalimage.Width / pictureBox1.Height) * framewidth, ((recendX - recstartX - 1) * orginalimage.Height / pictureBox1.Width) * frameheight, tempcatgory);

            settingentity.getImageSample().getcontrolzonelist().Add(setzonetemp);
            times++;
            Bitmap nextbitmap = (Bitmap)pictureBox1.Image;

            chartstack.Add(nextbitmap);
            loaddata();
        }
Ejemplo n.º 4
0
        private void Settingdetectsectioncopybtn_Click(object sender, EventArgs e)
        {
            if (pictureBox1.Image != null)
            {
                if (chartstack.Count == 0)
                {
                    bitmapSource = (Bitmap)pictureBox1.Image;
                    Bitmap chartstacktemp = new Bitmap(pictureBox1.Width, pictureBox1.Height);
                    pictureBox1.DrawToBitmap(chartstacktemp, new Rectangle(0, 0, pictureBox1.Width, pictureBox1.Height));
                    chartstack.Add(chartstacktemp);
                }
            }
            if (chartstack.Count > 1)
            {
                for (int k = 0; k < list1.Count; k++)
                {
                    Settingimageentity tempsettingimageeneity = (Settingimageentity)list1[k];
                    if (tempsettingimageeneity.getparamatername() == paramatername)
                    {
                        list1.RemoveAt(k);
                    }
                }
                chartstack.RemoveAt(chartstack.Count - 1);
                pictureBox1.Image = (Bitmap)chartstack[chartstack.Count - 1];
                pointStartX       = copyStartX;
                pointEndX         = copyEndX;
                pointEndY         = copyEndY;
                pointStartY       = copyStartY;

                int iWidth  = copyEndX - copyStartX;
                int iHeight = copyEndY - copyStartY;
                if (chartstack.Count == 0)
                {
                    bitmapSource = (Bitmap)pictureBox1.Image;
                }
                else
                {
                    bitmapSource = (Bitmap)chartstack[chartstack.Count - 1];
                }
                if (bitmapSource != null)
                {
                    bitmap = new Bitmap(bitmapSource);
                    Pen      pen = new Pen(Color.White);
                    Graphics gh  = Graphics.FromImage(bitmap);
                    rectNew = new Rectangle(pointStartX, pointStartY, iWidth, iHeight);
                    gh.DrawRectangle(pen, rectNew);
                    //this.CreateGraphics().DrawImage(bitmap, pictureBox1.Left, pictureBox1.Top, 500, 500);
                    pictureBox1.Image = bitmap;
                    bitmapSource      = bitmap;
                    // Graphics.FromImage(bitmap);
                    //          g.DrawImage(bitmap,rectNew);
                    Bitmap newbitmap      = new Bitmap(rectNew.Width - 1, rectNew.Height - 1);
                    Bitmap chartstacktemp = new Bitmap(pictureBox1.Width, pictureBox1.Height);
                    pictureBox1.DrawToBitmap(chartstacktemp, new Rectangle(0, 0, pictureBox1.Width, pictureBox1.Height));
                    chartstack.Add(chartstacktemp);
                    g = Graphics.FromImage(newbitmap);
                    //g.DrawImage(bitmap, rectNew.Top, rectNew.Left);
                    g.DrawImage(bitmap, pictureBox1.Left - rectNew.Location.X - pictureBox1.Left - 1, pictureBox1.Top - rectNew.Location.Y - pictureBox1.Top - 1);
                    g.Dispose();
                    //newbitmap.Save("C:\\Users\\zsd\\Desktop\\" + DateTime.Now.ToString("yyyyMMddhhmmss") + ".jpg");
                    Settingimageentity tempentity = new Settingimageentity();
                    tempentity.setparamatername(paramatername);
                    tempentity.setimage(newbitmap);
                    tempentity.setparamatertype(paramatertype);
                    list1.Add(tempentity);
                    ((Settingimagedetection)tabControl1.TabPages[tapindexi].Controls[0]).pointStartX = pointStartX;
                    ((Settingimagedetection)tabControl1.TabPages[tapindexi].Controls[0]).pointStartY = pointStartY;
                    ((Settingimagedetection)tabControl1.TabPages[tapindexi].Controls[0]).pointEndX   = pointEndX;
                    ((Settingimagedetection)tabControl1.TabPages[tapindexi].Controls[0]).pointEndY   = pointEndY;
                    for (int k = 0; k < methodtemp.getsettinglist().Count; k++)
                    {
                        Settingentity settingentity = (Settingentity)methodtemp.getsettinglist()[k];
                        if (settingentity.getparamatername() == paramatername)
                        {
                            settingentity.getImageSample().setimagesample(rectNew.X * framewidth, rectNew.Y * frameheight, rectNew.Width * framewidth, rectNew.Height * frameheight);
                            break;
                        }
                    }
                    blnDraw = false;
                    neededboxes--;
                    settingdetectsectionneededvaluelabel.Text = neededboxes.ToString();
                }
            }
            else
            {
                pictureBox1.Image = (Bitmap)chartstack[chartstack.Count - 1];
                pointStartX       = copyStartX;
                pointEndX         = copyEndX;
                pointEndY         = copyEndY;
                pointStartY       = copyStartY;

                int iWidth  = copyEndX - copyStartX;
                int iHeight = copyEndY - copyStartY;
                if (chartstack.Count == 0)
                {
                    bitmapSource = (Bitmap)pictureBox1.Image;
                }
                else
                {
                    bitmapSource = (Bitmap)chartstack[chartstack.Count - 1];
                }
                if (bitmapSource != null)
                {
                    bitmap = new Bitmap(bitmapSource);
                    Pen      pen = new Pen(Color.White);
                    Graphics gh  = Graphics.FromImage(bitmap);
                    rectNew = new Rectangle(pointStartX, pointStartY, iWidth, iHeight);
                    gh.DrawRectangle(pen, rectNew);
                    //this.CreateGraphics().DrawImage(bitmap, pictureBox1.Left, pictureBox1.Top, 500, 500);
                    pictureBox1.Image = bitmap;
                    bitmapSource      = bitmap;
                    // Graphics.FromImage(bitmap);
                    //          g.DrawImage(bitmap,rectNew);
                    Bitmap newbitmap      = new Bitmap(rectNew.Width - 1, rectNew.Height - 1);
                    Bitmap chartstacktemp = new Bitmap(pictureBox1.Width, pictureBox1.Height);
                    pictureBox1.DrawToBitmap(chartstacktemp, new Rectangle(0, 0, pictureBox1.Width, pictureBox1.Height));
                    chartstack.Add(chartstacktemp);
                    g = Graphics.FromImage(newbitmap);
                    //g.DrawImage(bitmap, rectNew.Top, rectNew.Left);
                    g.DrawImage(bitmap, pictureBox1.Left - rectNew.Location.X - pictureBox1.Left - 1, pictureBox1.Top - rectNew.Location.Y - pictureBox1.Top - 1);
                    g.Dispose();
                    //newbitmap.Save("C:\\Users\\zsd\\Desktop\\" + DateTime.Now.ToString("yyyyMMddhhmmss") + ".jpg");
                    Settingimageentity tempentity = new Settingimageentity();
                    tempentity.setparamatername(tabControl1.TabPages[tapindexi].Name.ToString());
                    tempentity.setimage(newbitmap);
                    tempentity.setparamatertype(paramatertype);
                    list1.Add(tempentity);
                    ((Settingimagedetection)tabControl1.TabPages[tapindexi].Controls[0]).pointStartX = pointStartX;
                    ((Settingimagedetection)tabControl1.TabPages[tapindexi].Controls[0]).pointStartY = pointStartY;
                    ((Settingimagedetection)tabControl1.TabPages[tapindexi].Controls[0]).pointEndX   = pointEndX;
                    ((Settingimagedetection)tabControl1.TabPages[tapindexi].Controls[0]).pointEndY   = pointEndY;
                    for (int k = 0; k < methodtemp.getsettinglist().Count; k++)
                    {
                        Settingentity settingentity = (Settingentity)methodtemp.getsettinglist()[k];
                        if (settingentity.getparamatername() == paramatername)
                        {
                            settingentity.getImageSample().setimagesample(rectNew.X * framewidth, rectNew.Y * frameheight, rectNew.Width * framewidth, rectNew.Height * frameheight);
                            break;
                        }
                    }
                    blnDraw = false;
                    neededboxes--;
                    settingdetectsectionneededvaluelabel.Text = neededboxes.ToString();
                }
            }
        }
Ejemplo n.º 5
0
        private void upbtn_Click(object sender, EventArgs e)
        {
            if (chartstack.Count > 1)
            {
                pointStartY = pointStartY - 1;
                if (pointStartY >= 0)
                {
                    pointEndY = pointEndY - 1;
                    for (int k = 0; k < list1.Count; k++)
                    {
                        Settingimageentity tempsettingimageeneity = (Settingimageentity)list1[k];
                        if (tempsettingimageeneity.getparamatername() == paramatername)
                        {
                            list1.RemoveAt(k);
                        }
                    }
                    chartstack.RemoveAt(chartstack.Count - 1);
                    pictureBox1.Image = (Bitmap)chartstack[chartstack.Count - 1];
                    int iWidth  = pointEndX - pointStartX;
                    int iHeight = pointEndY - pointStartY;
                    if (chartstack.Count == 0)
                    {
                        bitmapSource = (Bitmap)pictureBox1.Image;
                    }
                    else
                    {
                        bitmapSource = (Bitmap)chartstack[chartstack.Count - 1];
                    }
                    if (bitmapSource != null)
                    {
                        //copy the original picture which is stored in bitmapsource and eliminate the old rectangle
                        bitmap = new Bitmap(bitmapSource);
                        Pen      pen = new Pen(Color.White);
                        Graphics gh  = Graphics.FromImage(bitmap);
                        rectNew = new Rectangle(pointStartX, pointStartY, iWidth, iHeight);
                        //draw rectangle
                        gh.DrawRectangle(pen, rectNew);
                        // show it on the screen
                        //this.CreateGraphics().DrawImage(bitmap, pictureBox1.Left, pictureBox1.Top, 500, 500);
                        pictureBox1.Image = bitmap;
                        bitmapSource      = bitmap;
                        // Graphics.FromImage(bitmap);
                        //          g.DrawImage(bitmap,rectNew);
                        Bitmap newbitmap      = new Bitmap(rectNew.Width - 1, rectNew.Height - 1);
                        Bitmap chartstacktemp = new Bitmap(pictureBox1.Width, pictureBox1.Height);
                        pictureBox1.DrawToBitmap(chartstacktemp, new Rectangle(0, 0, pictureBox1.Width, pictureBox1.Height));
                        chartstack.Add(chartstacktemp);
                        g = Graphics.FromImage(newbitmap);
                        //g.DrawImage(bitmap, rectNew.Top, rectNew.Left);
                        g.DrawImage(bitmap, pictureBox1.Left - rectNew.Location.X - pictureBox1.Left - 1, pictureBox1.Top - rectNew.Location.Y - pictureBox1.Top - 1);
                        g.Dispose();
                        //newbitmap.Save("D:\\" + DateTime.Now.ToString("yyyyMMddhhmmss") + ".jpg");
                        Settingimageentity tempentity = new Settingimageentity();
                        tempentity.setparamatername(paramatername);
                        tempentity.setimage(newbitmap);
                        tempentity.setparamatertype(paramatertype);
                        list1.Add(tempentity);
                        ((Settingimagedetection)tabControl1.TabPages[tapindexi].Controls[0]).pointStartX = pointStartX;
                        ((Settingimagedetection)tabControl1.TabPages[tapindexi].Controls[0]).pointStartY = pointStartY;
                        ((Settingimagedetection)tabControl1.TabPages[tapindexi].Controls[0]).pointEndX   = pointEndX;
                        ((Settingimagedetection)tabControl1.TabPages[tapindexi].Controls[0]).pointEndY   = pointEndY;
                        for (int k = 0; k < methodtemp.getsettinglist().Count; k++)
                        {
                            Settingentity settingentity = (Settingentity)methodtemp.getsettinglist()[k];
                            if (settingentity.getparamatername() == paramatername)
                            {
                                settingentity.getImageSample().setimagesample(rectNew.X * framewidth, rectNew.Y * frameheight, rectNew.Width * framewidth, rectNew.Height * frameheight);
                                break;
                            }
                        }

                        blnDraw = false;
                    }
                }
                else
                {
                    pointStartY = pointStartY + 1;
                }
            }
        }