无法在iPad中显示“@ 2x.png”图像

时间:2011-01-24 10:34:53

标签: iphone objective-c ipad iphone-sdk-3.0 ios4

我的iphone应用有两张图片:“cat.png”和“cat@2x.png”

我听说如果我们想要显示更大的图像(对于iPad版本),那么你将名字命名为“@ 2x.png”&它会自动检测设备和在iPad上显示更大的图像。

这是真的吗? 如果是的话,我也做了同样的事情,但是当我在iPad办理登机手续时它没有显示“cat@2x.png”。

可能出现什么问题?

注意:我知道有帖子讨论这个问题为icon.png但在我的情况下我指的是所有图片。

2 个答案:

答案 0 :(得分:3)

@ 2x是iPhone 4视网膜显示屏的扩展。如果要为iPhone发布应用程序,则需要存储两个版本的映像。例如myimage@2x.png和myimage.png。

阅读本文:https://developer.apple.com/library/ios/documentation/2DDrawing/Conceptual/DrawingPrintingiOS/SupportingHiResScreensInViews/SupportingHiResScreensInViews.html#//apple_ref/doc/uid/TP40010156-CH15-SW8

摘录:

Standard: <ImageName><device_modifier>.<filename_extension> 
High resolution: <ImageName>@2x<device_modifier>.<filename_extension>
  

每个名称的<ImageName><filename_extension>部分指定文件的通常名称和扩展名。 <device_modifier>部分是可选的,包含字符串~ipad~iphone

     

如果要为iPad和iPhone指定不同版本的图像,请包含其中一个修改器。包含高分辨率图像的@2x修改器是新的,让系统知道图像是标准图像的高分辨率变体。

答案 1 :(得分:2)

iPad没有足够的RAM支持使用@2x图形的iPhone伪仿真,因此操作系统不会自动选择它们(正如@Joseph Tura所解释的那样)。

您可以使用一些技术让iPad获得更高分辨率的图形,同时支持iPhone 4 Retina Display分辨率和iPhone-4之前的分辨率,但它要求您自己编写所有图像替换代码。

优秀的Trainyard游戏的创造者Matt Rix解释了他是如何通过一系列的两篇文章在Cocos 2D中做到的: Retinafy Your Game High-res graphics in Cocos2D < / strong>即可。如果您在iPad上玩iPhone(仅限通用) Trainyard Trainyard Express ,图形看起来很棒,并且没有像素加倍的锯齿状外观,因为他的如果在iPad上播放iPhone游戏,代码会交换特定的图形。

即使您没有将Cocos 2D用于游戏开发,也适用相同的基本结构。我建议看看。