假如有程序中有图片 Default.png, Default@2x.png,
@2x的图片通常比相对应的图片大一倍.

使用语句 UIImage* img = [UIIMage p_w_picpathName:@"Default.png"];
程序运行在iphone 4等有高清屏幕的机器上面, 会首先判断有没有对应的@2x图片, 有的话就加载, 没有的话, 就直接加载Default.png

程序运行在iphone 3GS等没有高清屏幕的机器上面, 就直接加载Default.png

这样的话, 程序可以同时运行在iphone4, 并兼容之前的机. 运行在iphone4上面, 也可以取得iphone4高清屏幕的好处.

从icon说起
命名方法,举例
Icon.png 

                        57×57
Icon-72.png                   72×72
Icon-Small.png             29×29
Icon-Small-50.png       50×50
Icon@2x.png                114×114
Icon-Small@2x.png     58×58


iTunesArtwork               512×512

在info.plist使用key CFBundleIconFiles,注意与CFBundleIconFile区分开,CFBundleIconFiles的优先级高于CFBundleIconFile
省略扩展名,直接写Icon,会 自动识别
如果要加扩展名,必须把所有的 图片名都添加到CFBundleIconFiles的array中
特别需要注意的是,如果想自动识别,命名必须严格按照标准,且key为string类型。如果不自动识别,key为array类似并将完整文件名添加进去


Default命名方法

<basename><orientation_modifier><scale_modifier><device_modifier>.png

这个就不多说了,方法和icon是一样的,只列出相关的后缀

<basename>默认为Default,也可用UILaunchImageFile key设置,在这用Default举例
<orientation_modifier> 旋转方向

-PortraitUpsideDown
-LandscapeLeft
-LandscapeRight
-Portrait
-Landscape
None

也就是说你可以Default-Portrait.png 来表示竖屏时的加载图像,同样也可以直接Default.png不指定方向

<scale_modifier>依然是为iphone4准备,用法和icon雷同
Default-Portrait.png与 Default-Portrait@2x.png会自动识别

<device_modifier>区分设备,有2个值
~iphone
~ipad
Default-Portrait~iphone.png与Default-Portrait~ipad.png会自动判断设备   同样需要注意的一点,这个在icon里面同样适应,但是貌似现在没有使用的必要,看来未来ipad的分辨率也会扩充一倍?


如果使用了Custom URL Schemes,不多说了,格式如下,用法同上
<basename>-<url_scheme><scale_modifier><device_modifier>.png
如:
Default-myscheme.png与 Default-myscheme@2x.png

图片:
如果你的资源目录下有Button.png与 Button@2x.png两张图片
那么使用:
UIImage* anImage = [UIImage p_w_picpathNamed:@"Button.png"];
将会自动识别图片加载