1.图片png转webp
①将png批量转为webp(下载腾讯 “智图”或iSparta,批量转换) ,之后删除原有png文件
②oc代码调整
原理:通过yyimage的imageNamed:方法支持webp及其他(如png,jpeg,gif等)的图片
方法:通过方法交换将系统的imageNamed:方法替换掉(原来调用包内图片imageNamed方法加了文件后缀的已在这个方法里统一兼容处理,项目不需要大量修改即可无缝切换到webp)
代码如下(依赖了yykit中的NSObject +YYAdd.h和YYImage.h,方法简单,如果不想加入yykit的库,可以去yykit把方法考走→_→):
#import "UIImage+CRTheme.h"
#import <YYKit/YYImage.h>
@implementationUIImage (CRTheme)
+ (void)load {
[self swizzleClassMethod:@selector(imageNamed:) with:@selector(imageNamedSupportWebp:)];
}
+ (UIImage*)imageNamedSupportWebp:(NSString*)name {
name = [name.pathExtension isEqualToString:@"webp"] ? name : name.stringByDeletingPathExtension;
return [YYImage imageNamed:name];
}
@end
2.webp图片默认在mac上是无法预览的,坑。。。
处理:
mac 执行下面指令支持预览webp
curl -L https://raw.github.com/emin/WebPQuickLook/master/install-all.sh| sh