美文网首页iOS开发攻城狮的集散地
SDWebImage 加载WebP格式图片

SDWebImage 加载WebP格式图片

作者: hanyongwei | 来源:发表于2018-04-20 10:07 被阅读1080次

今天有个需要,后台传的图片改成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

相关文章

网友评论

  • 墨凌风起:如果加载WebP格式的本地图片呢?
  • LV大树:大佬厉害。
  • handone:为什么我这么做不行呢?
    hanyongwei:@handone 不好意思啊,好像demo已经删了。。。。。不过你按着那三步做应该没问题啊,我当时就可以
    handone:@hanyongwei 能不能把你的demo给看下呢?
    hanyongwei:你看看下载的SDWebImage有没有少文件,然后配置的时候需要debug和release模式都配置SD_WEBP=1

本文标题:SDWebImage 加载WebP格式图片

本文链接:https://www.haomeiwen.com/subject/jaxakftx.html