vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 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
Koordinaten im Dokument berechnen 
Autor: Bazi
Datum: 23.11.14 17:40

Hallo,

in einem OCX-Element (ImageViewer) lade ich Bilder. Nun suche ich nach einer Möglichkeit die Koordinaten im eingelesenen Dokument zu berechnen. Dazu ist auch eine mögliche Rotation zu berücksichtigen.
Könnt ihr mir bitte hier die grundsätzliche Vorgehensweise erklären?

Ich erhalte im MouseMove Koordinaten und möchte die zugehörigen Koordinaten im Dokument berechnen. Der Viewer hat leider keine Methode dazu.

Gruß Christian
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Koordinaten im Dokument berechnen 
Autor: Manfred X
Datum: 23.11.14 17:58

Hallo!

Lade das Bild in eine Instanz der Bitmap-Klasse und
ermittle Width/Height im Maßstab Pixel.
Checke die Rückmeldung der MouseMoveEvent-Koordinaten (Maximalwerte).
(Eventuell gibt es auch Width/Height-Eigenschaften bei Deinem Viewer -
in irgendeinem Maßstab - Twips, Inch o.ä.)
Die Umrechnung zwischen den beiden Skalen erfolgt dann per Dreisatz.

Für die Durchführung von Bild-Rotationen hält die Graphics-Klasse
(Basis: GDIPlus) einige Methoden ("Transform") bereit - unter Nutzung
der "Drawing.Drawing2D.Matrix".

Oder nutze ein Viewer-Steuerelement, daß geeignete
Skalierungs-Eigenschaften anbietet.






Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Koordinaten im Dokument berechnen 
Autor: Bazi
Datum: 23.11.14 19:30

Der Viewer den ich gefunden habe bietet Zoom und Rotation an. Nur leider keine Rückgaben der Koordinaten im Dokument, so dass ich hier selber berechnen muss. Der Zoomfaktor lässt sich glaube ich abfragen.

Wenn ich die Maße des Dokumentes kenne, und die Maße des Steuerelementes, dann kann ich also per Dreisatz jeden Punkt im Dokument berechnen?

Die Rotation kann ich nur über Buttons in meinem Programm auslösen, daher kann ich in Variablen die dargestellte Rotation halten.

Wenn ein Bild um -90 gedreht ist, dann beginnt 0|0 im Dokument unten links?

Gruß Christian
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Koordinaten im Dokument berechnen 
Autor: Manfred X
Datum: 23.11.14 20:14

Wie das von Dir genutzte Control arbeitet, kann ich nicht beurteilen.
Die Mauskoordinaten werden bei einer Net-Picturebox so zurückgegeben:
0, 0......................................Box.Width, 0
.
.
.
.
.
.
0, Box.Height......................Box.Width, Box.Height

Eine Drehung eines Bildes um -90 Grad ist in Net-Graphics-Transform
eine Drehung um 90 Grad nach links.

Die Position des Bildes im Viewer hängt vom Zentrum der Drehung ab
und davon, ob die Anzeigegröße sich an die Drehung anpaßt.

Beitrag wurde zuletzt am 23.11.14 um 20:17:28 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Koordinaten im Dokument berechnen 
Autor: Bazi
Datum: 23.11.14 21:38

OK, also ausprobieren.
Das Control gibt mir die Maße des Dokumentes zurück. Die Einheit scheint mit den MausKoordinaten zu harmonieren. Ein kleines Bild deckt sich in Breite mit Maus.X wenn ich an den Rand komme.

Weiterhin bekomme ich den Zoomfaktor X und Y, wobei die bei mir anscheinend immer gleich sind.

Das Verhalten bei einer Rotation muss ich noch austesten.

Und die ScrollbarPositionen kann ich abfragen. Wobei ich noch nicht weiß was ich damit anfangen kann.

Danke für die Hilfe

Gruß Christian

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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