Beispiel #1
0
 private void imageBox1_MouseUp(object sender, MouseEventArgs e)
 {
     if (e.Button == MouseButtons.Left)
     {
         _isLeftMouseDown = false;
         if (SelectRoi != null)
         {
             SelectRoi.MouseUp(e, imageBox1);
         }
         imageBox1.Cursor = Cursors.Default;
     }
     else if (e.Button == MouseButtons.Right)
     {
     }
     this.OnMouseUp(e);
 }
Beispiel #2
0
        private void imageBox1_MouseDown(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
            {//选中ROI
                _isLeftMouseDown = true;
                var imagePt = imageBox1.PointToImage(e.Location);
                if (imageBox1.Cursor == Cursors.Default)
                {
                    var roirect   = _roiElements.Where(x => x.Visible && x.Enable && x.Contains(imagePt.X, imagePt.Y) || (x.HitTest(e.Location) != null && x.HitTest(e.Location).Anchor != DragHandleAnchor.None)).OrderBy(x => x.AreaValue()).FirstOrDefault();
                    var imagerect = _roiImageElements.Where(x => x.Visible && x.Enable && x.Contains(imagePt.X, imagePt.Y) || (x.HitTest(e.Location) != null && x.HitTest(e.Location).Anchor != DragHandleAnchor.None)).OrderBy(x => x.AreaValue()).FirstOrDefault();
                    if (roirect == null)
                    {
                        SelectRoi = imagerect;
                    }
                    else if (imagerect == null)
                    {
                        SelectRoi = roirect;
                    }
                    else
                    {
                        SelectRoi = roirect.AreaValue() <= imagerect.AreaValue() ? roirect : imagerect;
                    }
                    _roiElements.ForEach(x => x.Selected      = false);
                    _roiImageElements.ForEach(x => x.Selected = false);
                }
                if (SelectRoi != null)
                {
                    SelectRoi.Selected = true;
                    SelectRoi.MouseDown(e, imageBox1);
                }
                else
                {
                    imageBox1.Invalidate();
                }
            }
            else if (e.Button == MouseButtons.Right)
            {
            }

            this.OnMouseDown(e);
        }
Beispiel #3
0
 private void imageBox1_MouseMove(object sender, MouseEventArgs e)
 {
     SetXYText(e.Location);
     SetRGBText(e.Location);
     if (e.Button == MouseButtons.Left)
     {//操作ROI
         if (SelectRoi != null)
         {
             SelectRoi.MouseMove(e, imageBox1);
         }
     }
     else if (e.Button == MouseButtons.Right)
     {
     }
     else if (e.Button == MouseButtons.None)
     {
         if (SelectRoi != null)
         {
             SelectRoi.MouseMove(e, imageBox1);
         }
     }
     this.OnMouseMove(e);
 }