如何在Delphi XE5下查找分辨率

我开始在Delphi XE5下开发一款游戏。 我有Firemonkey的解决schemefunction的问题。

当我打开屏幕,我检查在iPhone上的分辨率,我得到320×480。 但iPhone 4和5的原始分辨率翻了一番。 我在官方的Delphi页面发现,FireMonkey正在重新计算屏幕的“分辨率”,这是视网膜显示2。

我认为这对于普通应用程序来说是很酷的function,但是当你开始做游戏,并且想要通过代码来处理图像时,会带来奇怪的情况。

我的问题是 – 有没有办法find实际的分辨率值,或至less是什么实际的设备types(iPhone,iPad?)

谢谢

好的,我们find了答案。

有单位FMX.Platform处理相当重要的数据。

var ScreenSvc: IFMXScreenService; begin if TPlatformServices.Current.SupportsPlatformService(IFMXScreenService, IInterface(ScreenSvc)) then begin <your code> end; end; 

结果值是:

  ScreenSvc.GetScreenSize.X ScreenSvc.GetScreenSize.Y ScreenSvc.GetScreenScale 
Interesting Posts