首先代码

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/

10-11 02:03