Wpf Linie Zeichnen

July 3, 2024, 2:38 am

Mein aktuelles Programm erlaubt dem Benutzer das Klicken aufKlicken Sie dann auf einen anderen Punkt (mindestens 20 Pixel entfernt) und zeichnen Sie eine Linie zwischen den beiden Punkten. Ich habe eine Polylinie verwendet, so dass dies mehrmals möglich ist. Obwohl alle Linien angezeigt werden, nachdem alle Klicks ausgeführt wurden. void DrawingCanvas_MouseUp(object sender, MouseButtonEventArgs e) { Point position = tPosition(this); if (leftList == null) { //starting a new set (position); lastPoint = position; return;} //calculate distance, i. e. end click double a = lastPoint. X - position. X; double b = lastPoint. Y - position. Wpf linie zeichnen germany. Y; double distance = (a * a + b * b); if (distance > 20) { //continue to add to list lastPoint = position;} else { //end of the line paint(); leftList = new PointCollection();}} private void paint() { Polyline line = new Polyline(); sibility = sible; rokeThickness = 2; =; = leftList; (line);} Also meine Frage ist zweifach: A) Wie mache ich es so, dass nach jedem Klick die neue Zeile sofort hinzugefügt wird.

  1. Wpf linie zeichnen
  2. Wpf linie zeichnen germany

Wpf Linie Zeichnen

Alles Klar, für die welche es interessiert.. ich habe das Problem folgendermaßen gelöst: Ich habe ein WPF Control erstellt welches eine ImageSource darstellt. (Mittles einem Drawing objekt kann man ImageSources zeichnen. Auch der DrawingContext eines Control besitzt eine. DrawImage() methode welche als Parameter eine ImageSource verlangt. ) Diese ImageSource bekomme ich von einer, auf welcher ich mittles dem aphics meine Geometrie zeichnen kann. (Man muss die aber in eine erst konvertieren! ) Die WPF Geometry wird mit einem von mir geschriebenen Konverter in ein aphicsPath objekt konvertiert, welches dann schlussendlich mit dem aphics objekt gezeichnet wird. Das ganze ist ziemlich performant (10. 000 Linien in ca. 0. Grid - Zeichnen Sie die Diagonale Linie in WPF-Grid. 25 Sekunden), und kann sogar Asynchron gerendert werden. Mittles eines Loop Events kann man seine Zeichnung sogar animieren. Alles in allem ziemlich umständlich und es ist bleibt kein Vektor, aber das kann ich am Ende doch einbüßen. Lg. Sora

Wpf Linie Zeichnen Germany

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von " BerryB " ( 2. Januar 2017, 16:07) Suppiie! Damit hast du die Haupt-Hürde beim OwnerDrawing genommen - das Umdenken vom statischen Bild hin zum dynamischen Paint-Event. Nu guck dir auch die ganzen Draw-Methoden an, da gibt's auch welche, wo man nur ein Punkte-Array reinschmeissen muss, und das Polygon wird gezeichnet. "Angucken" bedeutet: Im Objectbrowser angucken - ist dir das ein begriff? richtig fettes Tutorial zu OwnerDrawing habich im WinForms-Tutorial-Bereich eingestellt - musste mal nachgucken. Jou. Wpf linie zeichnen 1. @BerryB Dein Code würde aber eine unterbrochene Linie darstellen, da Du nur jede zweite Linie darstellst. Möglicherweise meinst Du dies: For a As Integer = 0 To - 2 Falls Du diesen Code kopierst, achte auf die C&P-Bremse. Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch Ein guter. NET-Snippetkonverter (der ist verfügbar). Programmierfragen über PN / Konversation werden ignoriert! RodFromGermany schrieb: Dein Code würde aber eine unterbrochene Linie darstellen, da Du nur jede zweite Linie darstellst.

Mir ist (auch nach Recherche) jedenfalls keine bekannt. so ein scheiß! aber schau mal: da gibt es dieses spaceScreenLines3D oder so, dass haben sie aber raus genommen aus WPF, kann es sein, dass sie das dann nicht anders möglich gemacht haben? ein scheiß! ohne einfach linien durchsetzten zu können, ist die grafische oberfläche ja iwie sinnlos! Geht es dir um eine Linie im 3D-Raum oder auf einer "normalen" UI? Bei ner normalen UI nimmt man einfach ein Rectangle mit der Breite oder Höhe 1. nein es geht um eine einfach gerade oder gekrümmte Linie im 3D-Raum! [WPF] Tausende verbundene Linien zeichnen. und das sinnvoll mit dreiecken umzusetzten ist sinnvoll Im 3D-Bereich wird ALLES mit Dreiecken umgesetzt. Problem? Das ist mir schon klar! Aber wie soll ich damit eine saubere Linie zeichnen? Hi einfach 2 Dreiecke nehmen, die sich jeweils ergänzen? Wenn du eine 3d-Linie zeichnest, projezierst du einfach die zwei punkte auf die Ansichts-Ebene und legst da 2 Dreiecke durch, die halt ne normale mit dem Sichtvektor bilden und darüber den äußeren Punkt berechnen.

[email protected]