Dies scheint ziemlich dumm, aber ich bin struglling von einer Stunde, dies zu tun,Draw Sine Wave in WPF
Wie die Sinus-Welle in WPF Draw ??
Dank
Dies scheint ziemlich dumm, aber ich bin struglling von einer Stunde, dies zu tun,Draw Sine Wave in WPF
Wie die Sinus-Welle in WPF Draw ??
Dank
Zeichnen von Linien zwischen den Punkten, die Sie mit Math.Sin Funktion berechnen. Sie müssen entscheiden, wie viele Punkte pro Zyklus zu verwenden sind, ein Kompromiss zwischen Zeichnungsgeschwindigkeit und Genauigkeit. Vermutlich müssen Sie auch die Amplitude so skalieren, dass sie dem Bereich auf dem Bildschirm entspricht, da die Sin-Funktion einen Wert zwischen +1 und -1 zurückgibt.
Wie machst du deine "Zeichnung". WPF hat keine OnPaint-Ereignisse wie Winforms, was sich als etwas schwierig erweisen könnte. Die Art und Weise dies in WinForms zu tun, würde die Graphics.DrawBezier
Methode
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));
Vielleicht hilfreich das ist, aber ich bin nicht einmal sicher zu verwenden gewesen, wie direkt an die WPF-Leinwand zu zeichnen.
Ein kurzer Blick, da MSDN zeigt, dass es ein BezierSegment-Steuerelement hat, das Ihnen vielleicht nützlich ist.
Wenn Sie Kurven zwischen Ihren Punkten möchten, können Sie ein PolyBezier verwenden, um Ihre Sinuswelle mit einer PointCollection zu zeichnen, die mit der Math.Sin-Methode berechnet wird. Alternativ könnten Sie viele BezierSegmente erstellen, die voneinander ablaufen. Schließlich fügen Sie einfach Ihre PolyBezier- oder BezierSegmente zu Ihrem Formular hinzu, mit drawingarea.Children.Add (curve), wo der Zeichenbereich das Raster oder die Leinwand ist, auf die Sie zeichnen.
Danke Martin, ich werde deine Lösung versuchen –