iOS图片@2X, @3x
2015-10-30 11:11
253 查看
所表示的是每英寸所拥有的像素(Pixel)数目。因此PPI数值越高,即代表显示屏能够以越高的密度显示图像。当然,显示的密度越高,拟真度就越高。
Pixels Per
Inch是图像分辨率的单位,图像PPI值越高,画面的细节就会越丰富,因为单位面积的像素数量更多,所以数码相机拍出来的图片因品牌或生产时间不同可能有所不同,常见的有72PPI,180PPI和300PPI,默认出来就是这么多(A710拍出的是180PPI)。
如图,iPad2 是768 x 1024,iPad Retina 是1536 x 2048,开发时都按 768 * 1024 操作。但实际上两者有一倍差异。为了达到最佳效果,使用的图片大小不一样。这时候就用同一个名称,但
Retina 的图加上 @2x 后缀。系统加载图片时,在 iPad2 上会加载 @1x 的图在 1536 * 2048 的设备上,会加载 @2x 的。@3x 现在用于 iPhone 6/6+ 上。
附带一提:iOS8渲染操作中使用前缀带有@1x、@2x 和@3x 的测试图像,代码会优先载入3x 图像。@2x图像不被加载。使用图像文件和XCAsset均不行。
用二倍图是为了适配iphone4以上的设备(所谓的retina屏),如果你的项目要适配3gs,那么你要备两套图,一套是一倍图,比如image.png(320*480),另一套是二倍图,比如image@2x.png(640*960)。当然你在用的时候,比如UIImage
*image = [UIImage imageNamed:@"image.png"],或者UIImage *image = [UIImage imageNamed:@"image"],这两种方法,在iphone4以上系统会自动去找image@2x.png图片来显示。
1、在项目中,无论代码还是 xib只用不带@2x的图片做为名字,就像这样UIImage *image = [UIImage imageNamed:@"image.png"]
2、在真实文件中必须有@2x 的文件,不带@2x 的文件可有可无(如果有,可以在 xib 中更好的显示,因为xib 只认不带@2x 的图片预览)
Pixels Per
Inch是图像分辨率的单位,图像PPI值越高,画面的细节就会越丰富,因为单位面积的像素数量更多,所以数码相机拍出来的图片因品牌或生产时间不同可能有所不同,常见的有72PPI,180PPI和300PPI,默认出来就是这么多(A710拍出的是180PPI)。
如图,iPad2 是768 x 1024,iPad Retina 是1536 x 2048,开发时都按 768 * 1024 操作。但实际上两者有一倍差异。为了达到最佳效果,使用的图片大小不一样。这时候就用同一个名称,但
Retina 的图加上 @2x 后缀。系统加载图片时,在 iPad2 上会加载 @1x 的图在 1536 * 2048 的设备上,会加载 @2x 的。@3x 现在用于 iPhone 6/6+ 上。
附带一提:iOS8渲染操作中使用前缀带有@1x、@2x 和@3x 的测试图像,代码会优先载入3x 图像。@2x图像不被加载。使用图像文件和XCAsset均不行。
用二倍图是为了适配iphone4以上的设备(所谓的retina屏),如果你的项目要适配3gs,那么你要备两套图,一套是一倍图,比如image.png(320*480),另一套是二倍图,比如image@2x.png(640*960)。当然你在用的时候,比如UIImage
*image = [UIImage imageNamed:@"image.png"],或者UIImage *image = [UIImage imageNamed:@"image"],这两种方法,在iphone4以上系统会自动去找image@2x.png图片来显示。
1、在项目中,无论代码还是 xib只用不带@2x的图片做为名字,就像这样UIImage *image = [UIImage imageNamed:@"image.png"]
2、在真实文件中必须有@2x 的文件,不带@2x 的文件可有可无(如果有,可以在 xib 中更好的显示,因为xib 只认不带@2x 的图片预览)
相关文章推荐
- ios 地图
- iOS 心得六 地区时举器
- iOS- static extern const
- iOS开发系列--音频播放、录音、视频播放、拍照、视频录制
- iOS中常用的四种数据持久化方法简介
- 在iOS7中修改状态栏字体的颜色
- iOS开发系列--通知与消息机制
- Xcode编译工程时出现Unknown type name 'NSString' 错误
- <iOS>arc4random
- iOS清除缓存
- iOS之 CoreMotion 框架
- iOS开发中的Git流程
- 整理 iOS 9 适配中出现的坑(图文)
- iOS测试(一)
- iOS拨打电话的三种方法
- iOS 9之适配ATS
- iOS之内存管理---堆栈问题详解
- IOS基础:retain,copy,assign及autorelease
- 集成Reveal:不修改您的Xcode工程并加载Reveal
- 分享一个iOS下实现基本绘画板功能的简单方法