2011-08-24 33 views
0

从我在其他地方看过的文章中,Apple推荐了各种图形资源的多个版本,因此质量将保留在iPhone 4之前,iPhone 4(含视网膜显示屏)和iPad之间。但是我正在使用一种技术,只需要三种情况下的一种资产。为通用应用程序准备图形资产

我为iPhone 4和iPad制作每个图形所需的尺寸,比如500x500像素的猫。我将它命名为[email protected]。当我读它为iPhone:

CGRect catFrame = CGRectMake(0.0f, 0.0f, 250.0f, 250.0f); 
UIImageView *theCat = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"myCat"]]; 
theCat.frame = catFrame; 
[self.view addSubview:theCat]; 
[theCat release]; 

为iPad,我做同样的事情,除了:

CGRect catFrame = CGRectMake(0.0f, 0.0f, 500.0f, 500.0f); 

这似乎在这三种情况下,以做工精细,大大降低图形文件的数量(和大小)。这种技术有什么问题吗?

+0

没有反应。为了看看我是否能引发这个问题的一些兴趣,我将引用“资源编程指南”,它指出单个图像在通用应用程序中将具有三个资源文件:'MyImage.png','MyImage〜iphone.png '和'[email protected]~iphone.png'。我的技术(运行良好)只使用一个资源文件。 – coco

回答

0

这个问题已经有很长一段时间了,所以我会根据我对最近几款应用程序的经验来“回答”它。

我认为没有理由为视网膜显示和非视网膜显示iPhone设置单独的图像资产。我上面概述的技术似乎工作得很好。

可能需要iPad的单独资源(“资源文件”),主要是为了改变屏幕的纵横比。就我而言(儿童游戏的精灵),我能够在iPad上使用许多iPhone图像。 “外观”有点不同,但我节省了很多文件空间。

这是否适合您,当然取决于您项目的独特属性。

0

并非所有的图像都可以很好地缩放,即使是50%。抖动或图案可能会变形。一般来说,缩放因子为1/2,1/4等(除以2)会得到最好的结果,但使用像Photoshop中使用的高级算法缩放会产生更好的结果。

因此,在大多数情况下,这可以产生可接受的结果。

+0

我正在谈论的是无缩放(iPhone和iPad之间)还是视网膜显示和非视网膜显示之间的50%缩放。在我的应用程序中,我没有看到抖动问题(已批准,图像并不复杂)。还没有看到任何理由过度复制图像资源! – coco