【发布时间】:2010-03-25 15:42:06
【问题描述】:
我有一个 WinForm 应用程序,该应用程序具有显示在 PictureBox 中的图像,该应用程序具有允许用户通过单击和拖动在图像上绘制矩形的附加功能。 矩形的位置、高度和宽度保存到磁盘。
当再次查看图像时,我想在图像上的相同位置自动重绘该矩形。
但是,当我重绘它时,高度和宽度都很好,但位置总是关闭。
在 MouseDown 事件中捕获位置,就像这样
private void pbSample_MouseDown(object Sender, MouseEventArgs e)
{
if (SelectMode)
{
StartLocation.X = e.X;
StartLocation.Y = e.Y;
//later on these are saved as the location of the rectangle
}
}
我正在重绘它
public void DrawSelectedArea(Rectangle rect)
{
Graphics g = this.pbSample.CreateGraphics();
Pen p = new Pen(Brushes.Black);
g.DrawRectangle(p, rect);
}
鉴于在 MouseDown 事件期间捕获的 MouseEventArgs 的位置,我如何计算正确的位置来重绘我的矩形?
【问题讨论】: