![]() |
Problem mit korrekter Anzeige von Real-Koordinaten
Hallo alle Miteinader,
ich habe folgendes Problem. Ich will meine User-Koordinaten im Real-Format in meinem Prog anzeigen lassen. Dazu nutze ich Momemt eine Komponente. Wenn ich jedoch dann die Koordinaten Zeichnen lasse und und dann mit der Maus die Punkte ansteuere werden diese nicht korrekt angezeigt. Wenn ich jetzt zum Bsp. ein Rechteck zeichne mit denn Koordinaten P1(-156.5,-150), P2(-156.5,142.97), P3(569.5,142.97), P4(569.5,-150) und dann die Maus genau auf die Eckpunkte des Rechtecks setze hab ich eine Abweichung im 1:1 Bild von 0.35 bis ca 0.95 . Erst so bei einem Zoom von 100 : 1 wir es geanau... Hat jemand vielleicht eine Idee wie das genauer geht?? Hier mal die Functionen
Delphi-Quellcode:
Und die Anzeige für den User in einem Label sieht dann so aus
function TCadBox.real_to_screen(P:Point2D) : TPoint;//; OCS:pMatrix
begin result.x := round(( P.x - xmin )*xscale); result.y := round(( ymax - P.y )*yscale); end; function TCadBox.screen_to_real(P1:TPoint) : Point2D; begin result.x := P1.x/xscale + xmin; result.y := ymax -P1.y/yscale; end; ...
Delphi-Quellcode:
...
ul := screen_to_real(Point(x,y));
s1 := FormatFloat('0.00', round(ul.x /Raster_Wert) * Raster_Wert); s2 := FormatFloat('0.00', round(ul.y /Raster_Wert) * Raster_Wert); Label1.Caption := 'X= '+s1+' Y= '+s2; Grüße burn [edit=Daniel B]Delphi-Tags gesezt. MfG Daniel B.[/edit] |
Öhm, hast du eine Grafikkarte und einen Bildschirm, die halbe und weniger Pixel anzeigen können? Daran wird es wohl liegen denke ich.
|
Öhm natürlich nicht .. :oops:
Aber ich hab gedacht, da gibts halt "Irgendwas" mit dem das ganze genauer wird... oder wie machen das z.B. CAD-Programme mit der Anzeige Grüße Burn |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:34 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz