当我开始使用我的游戏应用程序时,我不知道我应该创建视网膜/非视网膜@ 2x,@ 3x,@ 1x图像。我刚刚在png文件的末尾创建了没有@ 1x,@ 2x,@ 3x的图像。因为我的图像目前被称为image.png,它被认为是我现在知道的非视网膜图像。例如我在png中制作了25x35的图像。在故事板中,我决定调整图像大小并将其设为35x40,因为iPhone5看起来比25x35更好。我的问题是即使是1x我必须先从头开始重新创建40张图像,然后使用Prepo应用程序自动缩小到@ 2x @ 1x刻度。我在iPhone 4s / 5 / 5s / 6/6 +模拟器和iPad 2,Air,Retina模拟器上测试了我的非视网膜图像,它们看起来都很相似,而且应用效果很好。没有模糊或问题。我可以将我的image.png用于Retina设备吗? Apple会允许吗?
答案 0 :(得分:0)
如果这是应用内图片,而不是应用程序图标,那么是的,您可以使用任意分辨率图像。您可以使用UIImageView并在其上设置contentMode来执行AspectFit,确保图像在每种屏幕类型上都具有相同的大小,并且也不会被拉伸。
myImageView.contentMode = UIViewContentModeScaleAspectFit;
示例:The simplest way to resize an UIImage?
这将在将图像拟合到图像视图容器时保留图像的纵横比。
我会为图像本身提供所需的最高分辨率(@ 3x),但名称中没有@ 3x,让UIImageView将其缩小到其他两个分辨率所需的大小。
这样做会影响性能。如果它不会降低你的滚动性能,那就去吧。
所以基本上:从高分辨率图像开始并缩小。不要放大低分辨率图像,因为它不会看起来很清晰。并保持相同的宽高比,使其不会伸展。
对于应用内图片,您不会被拒绝。
答案 1 :(得分:0)
如果您的所有资产都有@ 3x后缀,则App Store会将您的应用识别为针对iPhone 6进行了优化(以及正确大小的启动图像或.xib / .storyboard)。对于非视网膜或正常视网膜屏幕使用更大的图像会导致您的RAM使用量增加并略微增加GPU的税收,但对于简单的应用程序,这不是真正的问题。