![]() |
Relative Mausposition in TImage
Liste der Anhänge anzeigen (Anzahl: 1)
Huhu,
ich steh grad irgendwie auf dem Schlauch. Ich habe ein TImage mit irgendeinem Bild darin. Das ganze mit stretch, center und proportional auf True - schaut etwa so aus: ![]() Wie kann ich nun die Mauskoordinaten relativ zum dargestellen Bild ermitteln? Je nach Abmessungen des Bildes ergeben sich ja Ränder die zu berücksichtigen sind. Muss ich nachrechnen was TImage sich bei der Darstellung gedacht hat oder gehts irgendwie einfacher? Grüße und danke schonmal Torsten |
Re: Relative Mausposition in TImage
Könntest du das bild bitte an den Beitrag anhängen damit es auch noch verfügbar ist wenn es bei imageshack verschwunden ist? Ansonsten würde der Beitrag wertlos werden und leute mit dem gleichen Problem müssten von vorn anfangen :)
|
Re: Relative Mausposition in TImage
Zitat:
Ich habe inzwischen mal den 'nachrechnen' Ansatz probiert, der ist halt durch Rundungsfehler nicht wirklich genau - vielleicht gehts ja aber auch besser.
Delphi-Quellcode:
Torsten
function MapImageCoords(Image: TImage; var x, y: integer): boolean;
var scale: extended; xr, yr: integer; begin with Image do begin scale:=Width/Picture.Width; if scale>Height/Picture.Height then scale:=Height/Picture.Height; xr:=round(Scale*Picture.Width); yr:=round(Scale*Picture.Height); x:=x-round((Width-xr) div 2); y:=y-round((Height-yr) div 2); result:=(x>=0) and (x<=xr) and (y>=0) and (y<=yr); end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:49 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 by Thomas Breitkreuz