错误:
[attachment=47489]
方案:
1、
如果你有某些原因,让你坚持要使用PNG文件格式而不是我之前极力向你推荐的pvr.ccz文件格式,那么TexturePacker有一个选项,叫做“Png Opt Level”(Png优化级别),可以帮助我们减少png文件的大小(注意:这样并不会影响图片加载时间)
就我目前的理解来看,最大的优化级别可以生成最小的文件大小。但是,它有一个缺点,就是非常耗时。对于2009年出的27寸的iMac来说,处理尺寸稍大的纹理,需要耗费10-20的时间来处理。由于该优化过程采用了多线程的方式,所以,如果你有机器是四核的,那么速度应该会快一些。
当然,你只有在真正发布应用的时候才需要利用这个优化特性。现在的问题是,它到底可以减少多少文件体积呢?
我最大的一张png图片从2.4MB减少到了2.2MB.小一些的纹理从180kb减至130kb。可能单个文件减少的量并不是很多,可是当你的png图片的总大小有18MB时,它可以使之减少至16MB。
注意,在xcode里面有一项设置,你可能会把它忽略掉。你需要关闭"Compress PNG files"开关,因为这个选项有可能会使你的png图片膨胀。你可以在xcode的build settings里面设置,如下所示:
如果激活此png压缩选项,xcode会在png文件打包进程序的时候运行自带的png优化程序。所以,有可能会使我们先前使用TP优化过的png图片再次膨胀。因此,再次确保这个选项已关闭!
不过即使你没有禁用此选项,你的程序大小还是会有所减小。因为,你有可能使用一些没有被TP优化过的png图片。
2、将图片放到bundle里边(制作bundle方法,创建一个文件夹,将内容放进去,然后重命名,将文件夹后缀名改为bundle就OK了)。然后将bundle添加入工程,
下边是对bundle中内用的使用。
首先需要添加#import <QuartzCore/QuartzCore.h>头文件
NSBundle *myBundle = [NSBundle bundleWithPath:[[NSBundle mainBundle]pathForResource:@"Bundle" ofType:@"bundle" ]];//获取设定的bundle
NSString *imageStr = [myBundle pathForResource:imageName ofType:@"png"];//在该路径下寻找imageName为名字的图片后边是格式,返回值是图片的绝对路径
[_imgView setImage:[UIImage imageWithContentsOfFile:imageStr]];//将图片添加到imageView试图。