Einzelnen Beitrag anzeigen

ToZie

Registriert seit: 17. Feb 2004
43 Beiträge
 
Delphi 10.3 Rio
 
#3

Re: Relative Mausposition in TImage

  Alt 2. Mai 2008, 22:38
Zitat:
Könntest du das bild bitte an den Beitrag anhängen
Klar, kann ich.


Ich habe inzwischen mal den 'nachrechnen' Ansatz probiert, der ist halt durch Rundungsfehler nicht wirklich genau - vielleicht gehts ja aber auch besser.

Delphi-Quellcode:
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;
Torsten
  Mit Zitat antworten Zitat