Einzelnen Beitrag anzeigen

burn

Registriert seit: 9. Apr 2003
80 Beiträge
 
Delphi 5 Professional
 
#1

Problem mit korrekter Anzeige von Real-Koordinaten

  Alt 3. Mai 2003, 16:07
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]
  Mit Zitat antworten Zitat