1

我正在使用将屏幕(如背景)填充到我的应用程序的图像。图像已经是视网膜尺寸,但我将其缩放以适合模拟器屏幕。因为它已经是 Retina 尺寸,我还需要添加带有 @2x 扩展名的副本吗?

4

4 回答 4

2

例如,不要忘记 iphone 5 作为背景图像。需要 3 张图片:Background-568h.png Background.png Background@2x.png

   if ([UIScreen mainScreen].bounds.size.height > 480.0f) {
    // for the iPhone 5
    self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"Background-568h.png"]];
} else {
    // for iphone 3.5 inch retina /non retina.
    self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"Background.png"]];
}
于 2012-12-07T09:44:35.033 回答
2

最好使用单独的图像,正常和正常@2x。如果您只使用单个图像,小图像会失真,而大图像会看起来被挤压。

于 2012-12-07T09:40:07.567 回答
1

编译器需要命名符号来检测您的视网膜图像。如果您编写 image.png,编译器会查找 image@2x.png,然后查找 image.png,如果找不到它(对于视网膜显示器)。

因此,将所有图像命名为 xxx@2x.png 并为非视网膜设备提供 xxx.png。

另一方面,我会在你的应用程序中为不可拉伸的图像使用精确的图像尺寸。调整大小意味着额外的时间和自然额外的计算。另一方面,分数图像分辨率最终会导致图像模糊。

例如,对于 iphone 5 图像,您应该包括 Iphone5BackgorundIamge@2x.png 但在您的代码中调用 Iphone5BackgorundIamge.png。

于 2012-12-07T09:36:35.537 回答
1

Iphone与图像尺寸无关,但它使用图像名称来检查它是用作ratina还是普通图像。您必须保留一个正常大小的图像,其名称如“image1.png”才能正常显示和ratina大小图像为“image1@2x.png”用于ratina显示。如果您使用的图像已经是ratina显示,则将其保留为@2x格式并放置一个具有正常名称的半尺寸图像。

于 2012-12-07T09:40:14.383 回答