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中使用从网络异步获取的图片来显示或者是游戏中动态生成图片后显示,则需要在代码中加入对不同设备、屏幕分辨率的判断来获取或者生成不同大小的图片

iOS 切图使用  分辨率  使用   相关总结
if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)] && [[UIScreen mainScreen] scale] == 2)
{
// 获取或者加载高清图片
}
else
{
// 获取或者加载普通图片
}
iOS 切图使用  分辨率  使用   相关总结
上一篇:MySQL Cluster(MySQL 集群) 初试(转)


下一篇:android – 在Scroll Flutter上隐藏Appbar?