我正在使用鼠标事件在PictureBox上绘制矩形:
绘制矩形后,我可以捕获其中的内容,并保存为jpg格式。
我的问题是什么?
我可以绘制边框超出picturebox区域的矩形:
![enter image description here](https://istack.dev59.com/JvgPj.webp)
如何限制矩形区域,使得picturebox边框是矩形的最大允许位置?
抱歉我的英语不好,但我希望你能理解我的问题 :)
因此,我的期望结果是这样的:
private void StreamingWindow_MouseDown(object sender, MouseEventArgs e)
{
rect = new Rectangle(e.X, e.Y, 0, 0);
this.Invalidate();
}
private void StreamingWindow_Paint(object sender, PaintEventArgs e)
{
if (painting == true)
{
using (Pen pen = new Pen(Color.Red, 2))
{
e.Graphics.DrawRectangle(pen, rect);
}
}
}
private void StreamingWindow_MouseMove(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
// Draws the rectangle as the mouse moves
rect = new Rectangle(rect.Left, rect.Top, e.X - rect.Left, e.Y - rect.Top);
}
this.Invalidate();
}
绘制矩形后,我可以捕获其中的内容,并保存为jpg格式。
我的问题是什么?
我可以绘制边框超出picturebox区域的矩形:
![enter image description here](https://istack.dev59.com/JvgPj.webp)
如何限制矩形区域,使得picturebox边框是矩形的最大允许位置?
抱歉我的英语不好,但我希望你能理解我的问题 :)
因此,我的期望结果是这样的:
![enter image description here](https://istack.dev59.com/3tobd.webp)