如何在Delphi XE5下查找分辨率

7
我开始使用Delphi XE5为iOS开发游戏。我在Firemonkey的分辨率功能上遇到了问题。
当我打开屏幕并检查iPhone的分辨率时,我得到320x480。但是iPhone 4和5的本机分辨率是加倍的。我在官方Delphi页面上发现,FireMonkey正在通过“分辨率”重新计算屏幕,Retina显示器为2。
我认为这对于常规应用程序是很酷的功能,但是当您开始制作游戏并且想通过代码操纵图像时,它会带来奇怪的情况。
我的问题是 - 是否有方法找到实际的分辨率值或至少是实际设备类型(iPhone,iPad?)
谢谢
1个回答

3

好的,我们找到了答案。

有一个名为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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接