c# pictureBox1作ROI容具
时间: 2023-10-28 12:03:06 浏览: 68
在C#中,可以使用PictureBox控件来显示图像,并且可以用鼠标绘制矩形的方式来定义ROI。下面是一个简单的代码示例:
1. 在Form中放置一个PictureBox控件,并设置其SizeMode为Zoom,以便于显示完整的图像。
2. 在PictureBox的MouseDown事件中记录鼠标按下的位置,并创建一个新的矩形对象。
```
private Point startPoint;
private Rectangle rect;
private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
{
startPoint = e.Location;
rect = new Rectangle(e.X, e.Y, 0, 0);
}
```
3. 在PictureBox的MouseMove事件中更新矩形的大小,并通过Invalidate方法来强制刷新PictureBox控件。
```
private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
rect.Width = e.X - startPoint.X;
rect.Height = e.Y - startPoint.Y;
pictureBox1.Invalidate();
}
}
```
4. 在PictureBox的Paint事件中绘制矩形。
```
private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
if (rect != null && rect.Width > 0 && rect.Height > 0)
{
e.Graphics.DrawRectangle(Pens.Red, rect);
}
}
```
5. 最后,在需要使用ROI的地方,可以通过rect来获取矩形的位置和大小信息。
```
Rectangle roi = rect;
```
阅读全文