我用的是 Delphi RAD Studio 11.3和Firemonkey。当我在窗体上放置一个TImage组件并加载一张图片时,位图会自动调整大小以适应TImage组件。这很好。我想知道的是如何获得当前显示图像的宽度和高度。我不想要TImage组件本身的宽度和高度(例如Image1.Width或Image1.Height),也不需要原始图像的尺寸(例如Image1.Bitmap.Width或Image1.Bitmap.Height)。
我正在寻找的是图像当前显示在TImage组件上的宽度和高度。有了这些信息,我就可以根据显示图像上的MouseMove事件计算X和Y坐标,从那里,我可以导出底层位图上的相应点。
有什么建议吗?
1条答案
按热度按时间emeijp431#
您需要根据几个属性计算可视区域的范围。除了
TImage
组件的Position
和Rotation
(如果适用)之外,至少考虑以下内容:1.已加载到
TImage
中的图像大小(可能会拉伸/收缩以适应)WrapMode
设置(默认为Fit
,按比例拉伸/收缩)TImage
的Size
(或Width
和Height
)TImage
的Scale
(水平和垂直分别)