有可能在iPhone操作系统或Android中检测到DPI吗?

有可能在iPhone操作系统或Android中检测到DPI吗?,iphone,ipad,resolution,dpi,Iphone,Ipad,Resolution,Dpi,我正在做一些关于制作一款游戏的研究,这款游戏能够扩展其图形资源,以适应任何设备的DPI 为了做到这一点,我希望能够查询设备的DPI,以适当地扩展资产 这是一款2D游戏,艺术风格非常适合任意缩放 我将如何使用res/dpi组合的示例: iPhone/iTouch,320x480(163 dpi)-文本将是正常大小 iPhone4,640x960(326dpi)-文本将是原来的两倍大 iPad的屏幕分辨率为768x1024(132 dpi),文字可能会被限制在某个最小尺寸,以利用更大的屏幕空间 那么

我正在做一些关于制作一款游戏的研究,这款游戏能够扩展其图形资源,以适应任何设备的DPI

为了做到这一点,我希望能够查询设备的DPI,以适当地扩展资产

这是一款2D游戏,艺术风格非常适合任意缩放

我将如何使用res/dpi组合的示例:

iPhone/iTouch,320x480(163 dpi)-文本将是正常大小

iPhone4,640x960(326dpi)-文本将是原来的两倍大

iPad的屏幕分辨率为768x1024(132 dpi),文字可能会被限制在某个最小尺寸,以利用更大的屏幕空间

那么,在iPhone操作系统上,有没有办法查询屏幕的DPI


(顺便说一句,这在Android设备上可能吗?

你可以在Android中通过类获取这些信息。

我不确定是否有直接的方法获取DPI,因为你通常不需要知道。UIScreen类确实公开了比例因子。对于iPhone,谢谢你的帮助,我已经五年没有需要这些信息了,但现在它已经为我准备好了。:)尽管如此,我问的主要问题仍然是关于iOS的,我认为除了硬编码之外,仍然没有其他解决方案。谢天谢地,即使是现在,这也不是我所期望的问题,因为iOS已经将DPI与它们的外形因素紧密地联系在一起。
UIScreen *theScreen = [UIScreen mainScreen];
float scaleFactor = 1.0f;
if ([theScreen respondsToSelector:@selector(getScale)]) {
    scaleFactor = theScreen.scale;
}
// use scaleFactor to determine size of fonts/whatever