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