| |
VB.NET - Ein- und UmsteigerLinien zeichen | | | Autor: Theo_kkv | Datum: 12.09.08 14:00 |
| Hallo,
ich habe als Ausgangsdatenbestand eine Collection mit ca. 6000 Linieninformationen (X und Y Wert der jeweiligen Anfangs- und Endpunkte sowie weitere Sachinformationen). Die Koordinaten der Anfangs- und Endpunkte sind in Format
RRRRRRR.RRR
HHHHHHH.HHH
also 7 Vor- und 3 Nachkommastellen. Bisher habe ich nur Programmbeispiele mit ganzzahligen Koordinatenwerten gefunden. Bringt VB eigentlich den Fokus von selbst auf den Wertebereich der Punktwolke(Zoom auf Alles)? | |
Re: Linien zeichen | | | Autor: FlyingEagleLW | Datum: 12.09.08 15:33 |
| Zitat: | | Bringt VB eigentlich den Fokus von selbst auf den Wertebereich der Punktwolke(Zoom auf Alles)? | |
was hast du vor? die punkte/linien auf ne picturebox malen und dann zoom auf alles?
wird wohl so nicht gehen.
selbst wenn du auf ein image malst, und dieses dann in der PB anzeigst (mit entsprechenden einstellungen wie zoom, autosize etc.) wirst du zwar alle punkte sehen, aber die qualität ist - sagen wir "nicht berauschend" - ist halt nen pixel-zoom.
ich denke, falls du das vorhast was ich denke was du vorhast, dann wirst du ums "zoom-rechnen" nicht umhin kommen. | |
Re: Linien zeichen | | | Autor: Theo_kkv | Datum: 13.09.08 12:49 |
| ja was habe ich eigentlich vor. Der Plan war, eine einfache grafische Darstellung der Linien aus der Collection ("Punktwolke" war hier der falsche Begriff) auf eine Form zu zaubern. In meiner Unbekümmertheit nahm ich an, mit einer For Each Schleife a' la
for each linie as class_linie in coll_linien
'linie zeichnen lassen mit linie.x_anfang, linie.y_anfang, linie.x_ende, linie.y_ende
next linie | |
Re: Linien zeichen | | | Autor: Theo_kkv | Datum: 13.09.08 21:38 |
| bin heute Abend einen Schritt weiter gekommen. Folgendes Codefragment läuft ohne stocken durch:
Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
Dim g As Graphics
Dim p As Pen
p = New Pen(System.Drawing.Color.Black)
g = e.Graphics
For Each linie As Class_Linienobjekt In coll_linienobjekte
g.DrawLine(p, linie.rechts_anfang, linie.rechts_ende, linie.hoch_anfang,linie.hoch_ende)
Next
End Sub
Nur sehe ich auf der Hauptform leider nichts. Die Linienmenge ist ja in Rechts um ca. 4 500 000m und in Hoch um 5 600 000m verschoben. Dadrauf müsste der Zoom. | |
Re: Linien zeichen | | | Autor: FlyingEagleLW | Datum: 14.09.08 20:41 |
| Dadrauf müsste der Zoom. ... und den musste dir selber bauen befürchte ich.
bin auch nicht der super-mathematiker, aber du müsstest wohl deine koordinaten zuerst auf den clientbereich bezogen herunter rechnen und entsprechend prozentual anpassen.
ich hab das mal mit einfachen balkengraphen und werten aus ner DB gemacht, hab da erst den max-wert ermittelt, den dann auf meinen clientbereich herunterskaliert und dann alle anderen werte prozentual von dem max herunterskaliert. finde den code jetzt aber nicht mehr
PS: für code-darstellungen nutz bitte die taste "vb-code" unter dem editor, erhöht die lesbarkeit. | |
Re: Linien zeichen | | | Autor: Theo_kkv | Datum: 15.09.08 19:46 |
| Sorry für den Codeschnipsel im Textfenster, kommt nicht wieder vor. Ungünstig ist bei der Drawline Methode, dass die Koordinaten der Punkte als Single vorliegen muss. Mit meinen Werten 7 Vor- und 3 Nachkommastellen komme ich da nicht zurecht. Gibt es da einen Ausweg? | |
Re: Linien zeichen | | | Autor: FlyingEagleLW | Datum: 15.09.08 20:26 |
| zur not musst du die eben umrechnen in andere zahlen-formate, pixel ist eh ganzzahlig also integer, auch wenn es durchaus funktionen mit aufrufmöglichkeiten wie long oder single gibt. wird am ende ohnehin gerundet.
denke nicht, das es bei der "wolke" auf einen oder 2 pixel ankommt, so hochauflösend ist kein display.
und je höher du dann in deiner (selbst errechneten) zoomstufe gehst, um so genau wird es doch automatisch, vorausgesetzt du rechnest natürlich auch richtig | |
Re: Linien zeichen | | | Autor: Theo_kkv | Datum: 17.09.08 09:39 |
| mit den pixeln das stimmt. Ich habe gesehen, dass es in der Graphics Klasse die Methoden Transform und Transformpoints gibt. Vielleicht kommt man so eleganter an transformierte Koordinaten im Fensterbereich. Wenn alle Stricke reißen, muss eine Funktion zur Transformation selbst geschrieben werden. | |
| 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 |
|
|
vb@rchiv CD Vol.6 vb@rchiv Vol.6
Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
Online-Update-Funktion Entwickler-Vollversionen u.v.m.Jetzt zugreifen Tipp des Monats sevWizard für VB5/6
Professionelle Assistenten im Handumdrehen
Erstellen Sie eigene Assistenten (Wizards) im Look & Feel von Windows 2000/XP - mit allem Komfort und zwar in Windeseile :-) Weitere Infos
|
|
|
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
|
|