2013-11-21 73 views
7

我開始在Delphi XE5下開發iOS遊戲。我對Firemonkey的Resolution功能有問題。如何在Delphi XE5下查找分辨率

當我打開屏幕,我檢查iPhone上的分辨率,我得到320x480。但iPhone 4和5的原始分辨率翻了一番。我在Delphi官方網頁上發現FireMonkey正在重新計算屏幕上的Retina顯示2的「分辨率」。

我認爲這對於普通應用程序來說是很酷的功能,但是當你開始做遊戲並且想要操縱圖像由代碼帶來奇怪的情況。

我的問題是 - 有沒有辦法找到實際解決的值或者至少什麼是實際的設備類型(iPhone,iPad的?)

感謝

回答

3

OK,我們找到了答案。

單元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