vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
NEU! sevCoolbar 3.0 - Professionelle Toolbars im modernen Design!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
WPF: Kurven und Linien per Code Zeichnen 
Autor: Majuz
Datum: 02.07.11 22:53

Hallo zusammen,

ich möchte gerne ein Programm schreiben, mit dem man zur laufzeit des Programmes mit der Maus Kurven zeichnen kann. Dafür gibt es ja die Pfad-Klasse und z.b. BezierSegment.
Ich möchte immer von Mausklick zu Mausklick ein Segment zeichnen (Typ per contextmenue einstellbar). Auch möchte ich mehrere solcher "Segmentketten" zeichnen können.
Da gibt es aber so viele Verschiedene Klassen (Path, PathGeometry, PathFigure, PathFigureCollection, PathSegmentCollection) und dann noch die Segmentklassen (ArcSegment, BezierSegment, QuadraticBezierSegment, LineSegment ...), dass ich jetzt den Überblick verloren habe....

Hab ich das so richtig verstanden:
Path
  PathGeometry
    PathFigureCollection
      PathFigure
        PathSegmentCollection
          ArcSegment
          BezierSegment
          LineSegment 
      PathFigure
        PathSegmentCollection
          ArcSegment
          BezierSegment
          LineSegment
Brauch ich das wirklich alles? Ist meiner Meinung jede Menge "Ballast" außenrum...

Kann man dann eine entspechende Klasse so erstellen?:

Public Class Path_Class
 
    Dim MyPath As New Path
    Dim MyPathGeo As New PathGeometry
    Dim MyPathFigColl As New PathFigureCollection
    Dim MyFig As New PathFigure
    Dim MyPathSegColl As New PathSegmentCollection
 
    Public Sub initialize()
        MyPath.Data = MyPathGeo
        MyPathGeo.Figures = MyPathFigColl
    End Sub
 
    Public Sub newFigure()
        MyFig.Segments = MyPathSegColl
    End Sub
 
    Public Sub setFigureStart(ByVal p As Point)
        MyFig.StartPoint = p
    End Sub
 
    Public Sub AddBezier(ByVal p1 As Point, ByVal P2 As Point, ByVal p3 As _
      Point)
        Dim Seg As New BezierSegment
        Seg.Point1 = p1
        Seg.Point2 = P2
        Seg.Point3 = P3
        MyPathSegColl.Add(Seg)
    End Sub
 
    Public Sub addLine(ByVal P As Point)
        Dim Seg As New LineSegment
        Seg.Point = P
        MyPathSegColl.Add(Seg)
    End Sub
 
    Public Sub EndFigure()
        MyPathFigColl.Add(MyFig)
    End Sub
End Class
Hab ich das richtig verstanden, oder hab ich noch gröbere Schnitzer drin?

Ich möchte alle Punkte der Kurve später mit der Maus verschieben können. Wie komme ich dann an die Koordinaten ran?

Vielen Dank!

Gruß
Marius
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
WPF: Kurven und Linien per Code Zeichnen3.143Majuz02.07.11 22:53
Re: WPF: Kurven und Linien per Code Zeichnen1.722Majuz03.07.11 02:14
Re: WPF: Kurven und Linien per Code Zeichnen1.545Majuz04.07.11 20:08

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel