如果 Wrapmode 设置为 "Fit",则获取 TImage 中位图的新宽度和高度

Getting new width and height of Bitmap in a TImage if Wrapmode is set to "Fit"

我正在将 5000x5000 png 图像加载到 TImage 上,并将 wrapmode 设置为 Fit。然后我想获得 UI 中显示的位图的高度和宽度,但是我似乎只获得位图的原始大小,而不是显示的图像的大小。

我正在按如下方式加载位图:imgMap.Bitmap.LoadFromFile('map_4000_35161.png');

调整 TImage 的大小时,正在显示的位图的大小会发生变化,以便它适合 TImage 的内部;

如何获得显示的位图的宽度和高度?

我已经尝试了 imgMap.Bitmap.WidthimgMap.Bitmap.Canvas.Width,但我最终只得到了原始尺寸 5000

位图是您的源位图,它不会调整大小,但是当它在 TImage 上呈现时,它会呈现以适合 TImage。据我所知,除非您自己调整大小,否则无法获得该渲染的结果。

不过,您可以获得 TImage 的大小。这还不够吗?如果您保留纵横比,那么计算具有已知纵横比和包含边界的矩形的大小就相当简单了。