在深入研究下一个项目之前,我正在寻求建议。我想支持iOS现在支持的所有各种分辨率(视网膜,非视网膜iPhone和所有3个iPad)。

开发人员完成此工作的最常见方式是什么?我曾问过类似的问题,但有一个特定的性质。我正在寻找完整的包装。 IE。我想支持不同分辨率的位图字体,图像等。

是设备专用的开关,还是if语句是标准的?

感谢您提供的所有高级帮助。

E

编辑:我从苹果找到了这个:



因此,我想我更新的问题是如何将上述比例因子加倍?

编辑2:

我快到了...

我正在使用它在我的EAGLView中缩放:

        // Adjust for retina displays
    if ([self respondsToSelector:@selector(setContentScaleFactor:)])
    {
            self.contentScaleFactor = [[UIScreen mainScreen] scale];
    }

现在剩下的唯一问题是起源是否以某种方式被弄乱了。现在,显示的图像会根据分辨率缩放,但是在较大的分辨率下,图像会在屏幕中间开始显示。

请帮忙!

编辑3:解决了!!!我遇到了方向问题。

您需要确保翻译已更新。我用这个:
    glTranslatef( width / 2, height /2, 0);
glRotatef(-90, 0, 0, 1);
glTranslatef(-1 * (height / 2),-1 * (width / 2),0);

谢谢你的样子。我希望这可以帮助别人。

最佳答案

请参见 View 编程指南: View 几何和坐标系

http://developer.apple.com/library/ios/#DOCUMENTATION/WindowsViews/Conceptual/ViewPG_iPhoneOS/WindowsandViews/WindowsandViews.html



这意味着您指定的点(GCRect等)不是像素-这是针对视网膜/非视网膜调整的点

最后,正如 cocoa 牧师指出的那样,您可以维护png图像和图像的*@2x.png版本:

Retina Display Images on iPhone

What is the point of the @2x for Retina display apps?

另外,这是有关视​​网膜设计的文章:
http://globalmoxie.com/blog/designing-for-iphone4-retina-display.shtml

关于ios - 为视网膜和非视网膜显示器开发OpenGL ES,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10406017/

10-10 21:32