【发布时间】:2017-03-12 07:34:28
【问题描述】:
我创建了一个简单的示例,用于绘制分配给Picturebox 的图像。
我处理MouseDown 和MouseUp 事件,获取当前鼠标位置,并在MouseUp 事件的末尾画一条线。
private void Form1_Load(object sender, EventArgs e)
{
Bitmap image = new Bitmap("myImage.png");
pictureBox1.Image = image;
}
Point From, To;
private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
{
From = new Point(e.X, e.Y);
}
private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
e.Graphics.DrawLine(Pens.Red, From, To);
}
private void pictureBox1_MouseUp(object sender, MouseEventArgs e)
{
To = new Point(e.X, e.Y);
pictureBox1.Refresh();
}
代码有效,但它总是在第一个初始图像上绘制,我想在更新上绘制(在图像上创建的新行)。
我希望我的问题很清楚。
谢谢。
【问题讨论】:
-
不,不清楚。该代码根本没有绘制到图像上,而是在图片框的位置上
-
@Plutonix 根本不绘制图像是什么意思?
-
传递的
e.Graphics用于控件,它不会将这些行添加到实际图像中。看起来它们是图像的一部分,这可能是您想要的,但不清楚 -
@Plutonix 哦..如果我想在当前图像上绘制我应该怎么做?