如何在Delphi XE5下查找分辨率

我开始在iOS的Delphi XE5下开发一款游戏。 我对Firemonkey的Resolution功能有问题。

当我打开屏幕并检查iPhone上的分辨率时,我获得了320x480。 但iPhone 4和5的原始分辨率翻了一番。 我在Delphi官方网页上发现,FireMonkey正在重新计算屏幕的“分辨率”,该分辨率用于Retina显示屏2。

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

我的问题是 - 有没有办法找到实际的分辨率值,或至少是什么实际的设备类型(iPhone,iPad?)

谢谢


好的,我们找到了答案。

有单元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
链接地址: http://www.djcxy.com/p/17381.html

上一篇: How to find Resolution under Delphi XE5

下一篇: Why static binding works differently for class and function?