AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Koordinatenproblem mit TImage
Thema durchsuchen
Ansicht
Themen-Optionen

Koordinatenproblem mit TImage

Ein Thema von F.W. · begonnen am 12. Feb 2004 · letzter Beitrag vom 12. Feb 2004
Antwort Antwort
Benutzerbild von F.W.
F.W.

Registriert seit: 28. Jul 2003
Ort: Zittau
636 Beiträge
 
#1

Koordinatenproblem mit TImage

  Alt 12. Feb 2004, 00:47
Hallo!

Im OnMouseMove des Images steht folgender Code:
Delphi-Quellcode:
var
 XPos, YPos: Integer;
  {...}
OnMousedown(...);
begin
 Xpos := X;
 YPos := Y;
end;
Jetzt möchte ich einen Kreis an die Stelle zeichnen, das geschieht allerdings durch einen Timer, dessen Interval auf 200 gesetzt ist. Damit er weiß wo die Maus gerade ist, benutzt er die X bzw. YPos: Feld.Canvas.Ellipse(XPos-2, YPos-2, XPos+2, YPos+2); //Feld ist der Name des Images Aber irgendwie zeichnet er die Kreise immer zu weit rechts und zu weit unten . Der Abstand zwischen Mauszeiger und dem gezeichneten Kreis verkleinert sich, umso näher ich dem linken oberen Rand komme.

Jemand 'ne Idee
  Mit Zitat antworten Zitat
Jörn

Registriert seit: 5. Sep 2003
Ort: Helmstedt
312 Beiträge
 
#2

Re: Koordinatenproblem mit TImage

  Alt 12. Feb 2004, 01:39
Was steht denn im OnMouseDown? Wird da der Timer aktiviert? Weil ansonsten geht das bei mir
  Mit Zitat antworten Zitat
Benutzerbild von F.W.
F.W.

Registriert seit: 28. Jul 2003
Ort: Zittau
636 Beiträge
 
#3

Re: Koordinatenproblem mit TImage

  Alt 12. Feb 2004, 13:20
Der Timer ist die ganze Zeit aktiv, im MouseDown wird nur ein Boolischer Wert auf True gesetzt (im MouseUp wird er auf False gesetzt). Immer wenn dieser Wert True ist, zeichnet der Timer mit den Koordinaten, die vom OnMouseMove auf XPos bzw. YPos gesetzt wurden.

Liegt es daran, dass das Image alClient und das Formular wsMaximized ist?
  Mit Zitat antworten Zitat
Benutzerbild von F.W.
F.W.

Registriert seit: 28. Jul 2003
Ort: Zittau
636 Beiträge
 
#4

Re: Koordinatenproblem mit TImage

  Alt 12. Feb 2004, 13:36
Ich weiß jetzt woran's lag! Ich hatte vergessen, dass ich Strech auf true gestellt hatte, weil die Bilder sonst nicht den ganzen Bildschirm einnehmen.

Die Bilder sind 800x600 Pixel groß, der bildschirm aber 1024x768. Ich habe das ganze jetzt so gelöst: Feld.Picture.Bitmap.Canvas.Ellipse(Trunc(XPos/1.28)-2, Trunc(YPos/1.28)-2, Trunc(XPos/1.28)+2, Trunc(YPos/1.28)+2); Sorry, da hab' ich wohl nicht richtig aufgepasst!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:13 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz