SDWebImage 加载WebP格式图片

今天有个需要,后台传的图片改成webp格式。WebP格式,是谷歌开发的一种旨在加快图片加载速度的图片格式,至于为什么用WebP,感兴趣的可以看一下这篇文章WebP 相对于 PNG、JPG 有什么优势?  

其他话不多说,直接将怎样使用SDWebImag加载webp图片

1 . 把SDWebImage代码直接加到项目中,为什么直接加到代码,因为使用pod的会少一些SDWebImage的类

也有人说pod 'SDWebImage/WebP',但是使用这种需要配置vpn和http及https

感兴趣的可以看一下这篇iOS SDWebImage加载webP

因为我这条件有限,就没有尝试pod 'SDWebImage/WebP',不知道这种好不好用

2.我使用的是直接下载SDWebImage,然后手动导入

3因为iOS使用webp需要webp的支持,也就是WebP.framework,但是我看网上各种下载,我自己试了一下,都不是很好用,基本把能下载的都试了,但是都是各种报错,直到我都想放弃,把框架改为YYWebImage,因为YYWebImage支持webp是很好做的只需要两步,感兴趣的可以试试

(1)pod 'YYWebImage'

(2)pod 'YYImage/WebP'

然后YYWebImage就可以直接加载webp格式图片了,如果你的项目框架还没确定,可以直接使用这种

但是因为我框架已经确定,所以,不太好改,当时我想了个方案,给UIImageView创建一个分类,在分类中创建SDWebImage的下载图片方法,在实现中使用YYWebImage下载图片

3 但是我在此过程中想到为什么YYWebImage支持webp那么顺利呢,于是去YYImage的GitHub找了下原因,原来在YYImage中有个文件


其实SDWebImage支持webp也是需要这个的,但是网上方法很多都在header里少了几个.h文件,导致无法使用,我下载的不知道为啥,有没有这个.sh文件。。。于是我就想可不可以直接把这个拿来用,结果证明我的思路正确,确实可以加载出来

总结

总结一下过程,

1. 下载SDWebImage,拉到项目中

2.下载YYImage 把里面的WebP.framework拉到项目中

3. 让SDWebImage支持WebP,设置如下Build Settings -- Preprocessor Macros , add SD_WEBP=1


然后你就发现在你的项目中可以直接使用SDWebImage,加载webp图片了


到此就实现了我的目标了

喜欢的点击下收藏红心吧0.0

你可能感兴趣的:(SDWebImage 加载WebP格式图片)