绘制正弦波,WPF
答
画线。您必须决定每个循环使用多少个点,这是绘图速度和准确性之间的折衷。据推测,您还需要缩放幅度以适应屏幕上的区域,因为Sin函数将返回+1和-1之间的值。
答
你最近在做什么“绘画”。 WPF没有像Winforms这样的OnPaint事件,所以这可能会证明有点棘手。在的WinForms做到这一点的方式会一直使用Graphics.DrawBezier
方法
e.Graphics.DrawBezier(new Pen(new SolidBrush(Color.Red)),
new Point(0, 100),
new Point(50, 0),
new Point(50, 200),
new Point(100, 100));
也许这是有益的,但我什至不知道如何直接画到画布WPF。
作为MSDN的快速浏览显示它有一个可能对您有用的BezierSegment控件。
答
如果你想在你的点之间曲线,你可以用一个PolyBezier来绘制你的正弦波,用Math.Sin方法计算出一个PointCollection。或者,您可以创建很多彼此流动的BezierSegments。最后,使用drawingarea.Children.Add(curve)将您的PolyBezier或BezierSegments添加到您的表单中,其中绘图区域是您要绘制的网格或画布。
谢谢马丁,我会试试你的解决方案 – 2009-06-03 07:45:34