如何在 Delphi Firemonkey的Timage组件中获取图片的宽度和长度

2ul0zpep  于 2023-11-18  发布在  其他
关注(0)|答案(1)|浏览(134)

我用的是 Delphi RAD Studio 11.3和Firemonkey。当我在窗体上放置一个TImage组件并加载一张图片时,位图会自动调整大小以适应TImage组件。这很好。我想知道的是如何获得当前显示图像的宽度和高度。我不想要TImage组件本身的宽度和高度(例如Image1.Width或Image1.Height),也不需要原始图像的尺寸(例如Image1.Bitmap.Width或Image1.Bitmap.Height)。
我正在寻找的是图像当前显示在TImage组件上的宽度和高度。有了这些信息,我就可以根据显示图像上的MouseMove事件计算X和Y坐标,从那里,我可以导出底层位图上的相应点。
有什么建议吗?

emeijp43

emeijp431#

您需要根据几个属性计算可视区域的范围。除了TImage组件的PositionRotation(如果适用)之外,至少考虑以下内容:
1.已加载到TImage中的图像大小(可能会拉伸/收缩以适应)

  1. WrapMode设置(默认为Fit,按比例拉伸/收缩)
  2. TImageSize(或WidthHeight
  3. TImageScale(水平和垂直分别)

相关问题