我是C#的初学者,所以要温柔。
在C#中,我想要画画中的绘制曲线和多边形;你按住鼠标左键进行绘制的地方。你能就这些方法提出一些建议或代码吗?
谢谢。
答案 0 :(得分:1)
首先,尝试使用Graphics.LineTo()
跟踪鼠标 - 然后开始播放鼠标按下和向上事件,然后从那里开始。在图形领域有很多值得探索的地方,它应该很有趣!
关于数组:
List<Point> points=new List<Point>();
稍后,鼠标移动:
points.Add(new Point(mouse.X,mouse.Y));
以后,如果你需要真正的点数组
Point[] pa=points.ToArray();
答案 1 :(得分:1)
你需要处理鼠标,移动和鼠标移动事件,同时保留一些数据,然后在Paint事件中绘制你正在绘制的任何控件。
请查看此CodeProject article,了解您需要做的一个很好的例子。
对于连接曲线的点,您应该从一组点看this article for drawing Bezier curves。这是另一个that does spline interpolation。
答案 2 :(得分:0)
Paul Sasik引用的CodeProject文章是一个很好的起点。要绘制曲线,您可能需要尝试使用Graphics.DrawBezier(...)
,它将一个点数组作为参数,并通过这些点渲染曲线。但是,这会有一些复杂性问题,因为您需要确定每个段使用多少连续点,以及如何处理运行重叠。