2010-12-10 20 views

Antwort

1

Für den Anfang, versuchen Sie einfach die Maus mit Graphics.LineTo() verfolgen - dann starten Sie mit der Maus spielen nach unten und oben Ereignisse, dann von dort gehen. Im Grafikbereich gibt es viel zu entdecken und es sollte viel Spaß machen!

Wie für das Array:

List<Point> points=new List<Point>(); 

später, am Mausbewegung:

points.Add(new Point(mouse.X,mouse.Y)); 

und viel später, wenn Sie echte Point-Array benötigen

Point[] pa=points.ToArray(); 
+0

Was ist mit der Maus neue Punkte setzen in Array, wie sollte es im Code aussehen? ich meine diese Art von Sachen pp [0] = neuer Punkt (e.Location.X, e.Location.Y); – user538497

+0

für Anfänger ignorieren Sie das Array, zeichnen Sie sie einfach mit LineTo –

1

Sie müssen behandeln Bewegen Sie die Maus nach unten, bewegen Sie sie und bewegen Sie sie nach oben, während Sie einige Daten beibehalten, die dann auf das Paint-Ereignis eines beliebigen Steuerelements gezeichnet werden re Malerei in.

Werfen Sie einen Blick auf diese CodeProject article für ein gutes Beispiel, was Sie tun müssen.

Um Punkte mit einer Kurve zu verbinden, sollten Sie this article for drawing Bezier curves aus einer Reihe von Punkten betrachten. Hier ist noch eine that does spline interpolation.

+0

Ich male in Paint-Ereignis, eigentlich muss ich wissen, wie Sie diese kleinen Punkte verbinden, wie Sie wissen, Kurve ist aus vielen Punkten :) – user538497

+0

Ein Link zum Zeichnen hinzugefügt Bezier dreht sich in meine Antwort. Hör zu. –

0

Der von Paul Sasik referenzierte CodeProject-Artikel ist ein ausgezeichneter Ausgangspunkt. Um gekrümmte Linien zu zeichnen, können Sie versuchen, Graphics.DrawBezier(...) zu verwenden, die ein Array von Punkten als Parameter verwendet und eine gekrümmte Linie durch die Punkte rendert. Dies hat jedoch einige Probleme mit der Komplexität, da Sie entscheiden müssen, wie viele aufeinanderfolgende Punkte für jedes Segment verwendet werden sollen und wie mit den laufenden Überlappungen verfahren werden soll.

+0

ok, ich habe Code, der eine Kurve zeichnet, wenn ich Maus links/rechts button un verbinde diese Punkte, aber wie man diese Zeichnung ist, wenn ich die Maustaste klicke und halte, wie in Farbe? Ich habe Code gemacht, aber es ist sehr lang, wie kann ich es hier einfügen? vielleicht kann jemand das korrigieren? – user538497

Verwandte Themen