iOS 切图使用 分辨率 使用 相关总结
疑问:
就iphone来说分辨率有三种,320*480、 640*960、 640*1136
那么如果我想做图,如果是320*480
1、是不是所有的图片,比如按钮的,背景图的,尺寸都必须做成小于或等于320*480的分辨率,
2、是否可以做一张大图在320*480中的分辨率中使用
3、如果是ipad的话是不是图片的分辨率要相应的提高
解答
只需要做 320*480 640*960的两套图
大图名字后面加@2x
例如:aaa.png是小图(320*480)
aaa@2x.png就是大图(640*960)
只要名字这样起,系统会自动识别设备,用相应的图片。
如果是iphone5也是用640*960的图片,只不过要在工程配置文件里加一个iphone5对应分辨率的开机图就可以啦
详解
iPhone/iPod Touch
普屏分辨率 320像素 x 480像素
Retina分辨率 640像素 x 960像素
iPad,iPad2/New iPad
普屏 768像素 x 1024像素
Retina屏 1536像素 x 2048像素
首先我们需要明确一点,iOS设备上图片兼容retina的问题最初是由于iPhone4的分辨率由iPhone3的320X480提升到了640X960所产生。
为了让iPhone4能够兼容iPhone3上开发的APP,苹果设计了逻辑分辨率单位Point。在 iPhone3 上 1个 Point 相当于 1个pixel ; 而 iPhone4 上1个 point 就相当于4个 pixel。因此所有的iPhone,iTouch都可以认为拥有320X480的逻辑分辨率,这保证了所有的APP不经过修改也能正常的在高分辨率的设备上运行,只是原来的图片会在拉伸后显示在设备上,会影响美观。
开发人员在开发过程中如何避免此种情况发生呢?
1.UI静态加载图片的情况下
作为开发人员的我们需要美术人员提供两套图片,一套适应320X480分辨率,另一套适应640X960分辨率。
比如需要使名字为“background.png”,大小为220X350的图片兼容retina,那么就需要美术人员提供一张440X700的图片,我们将其名称命名为“background@2x.png”之后添加到项目中即可。如此,我们直接使用程序中原来的代码就可以达到目的。
[UIImage imageNamed:@"background.png"];
2.如果APP中使用从网络异步获取的图片来显示或者是游戏中动态生成图片后显示,则需要在代码中加入对不同设备、屏幕分辨率的判断来获取或者生成不同大小的图片
if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)] && [[UIScreen mainScreen] scale] == 2) { // 获取或者加载高清图片 } else { // 获取或者加载普通图片 }
posted on 2014-01-10 11:18 ACM_Someone like you 阅读(1363) 评论(0) 编辑 收藏 举报
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)