Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Problem mit korrekter Anzeige von Real-Koordinaten (https://www.delphipraxis.net/4533-problem-mit-korrekter-anzeige-von-real-koordinaten.html)

burn 3. Mai 2003 15:07


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:
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;
Und die Anzeige für den User in einem Label sieht dann so aus

...

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]

Luckie 3. Mai 2003 16:56

Öhm, hast du eine Grafikkarte und einen Bildschirm, die halbe und weniger Pixel anzeigen können? Daran wird es wohl liegen denke ich.

burn 3. Mai 2003 17:47

Ö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