我正在将 5000x5000
png 图像加载到 TImage 上,并将环绕模式设置为 Fit
。然后我想获取 UI 中显示的位图的高度和宽度,但是我似乎只获取位图的原始大小,而不是显示的图像的大小。
我按如下方式加载位图:imgMap.Bitmap.LoadFromFile('map_4000_35161.png');
调整 TImage 大小时,显示的位图大小会发生变化,以便它可以适合 TImage 内部;
如何获取正在显示的位图的宽度和高度?
我尝试过 imgMap.Bitmap.Width
、imgMap.Bitmap.Canvas.Width
但最终只得到原始大小 5000
最佳答案
位图是您的源位图,它不会调整大小,而是在 TImage
上呈现时,会呈现为适合 TImage
。 AFAIK,除非您自己调整大小,否则无法获得渲染结果。
不过,您可以获得 TImage
的大小。这还不够吗?如果您保留纵横比,那么计算具有已知纵横比并包含边界的矩形的大小相当简单。
关于delphi - 如果 Wrapmode 设置为 "Fit",则获取 TImage 中位图的新宽度和高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68467457/