首先代码
private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
{
System.Drawing.Graphics g;
System.Drawing.SolidBrush brush = new System.Drawing.SolidBrush(Color.Blue);
g = pictureBox1.CreateGraphics();
g.FillRectangle(brush, e.X, e.Y, 5, 5);
}
每当鼠标移至图片框并创建像素时,此事件处理程序就会启动。现在的问题是,只要我缓慢移动鼠标,所有这些像素就会形成一条线。但是,每当我稍微快一点移动鼠标时,换行符就会中断,而我所看到的只是点与点之间具有较大间距的点。
在这件事上需要帮助。
最佳答案
鼠标移动时,鼠标指针移动的每个像素都不会收到MouseMove
事件。您将在相当一致的时间间隔内获得它们,因此鼠标移动得越快,获得的点就越远。
您需要做的是存储收到的最后一点的位置,并在旧位置和新位置之间使用DrawLine
绘制一条实际线。
关于c# - 在图片框上创建平滑线(winforms,C#),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13917708/