SDWebImage 加載WebP格式圖片

今天有個需要,后臺傳的圖片改成webp格式。WebP格式,是谷歌開發(fā)的一種旨在加快圖片加載速度的圖片格式,至于為什么用WebP,感興趣的可以看一下這篇文章WebP 相對于 PNG、JPG 有什么優(yōu)勢???

其他話不多說,直接將怎樣使用SDWebImag加載webp圖片

1 . 把SDWebImage代碼直接加到項目中,為什么直接加到代碼,因為使用pod的會少一些SDWebImage的類

也有人說pod 'SDWebImage/WebP',但是使用這種需要配置vpn和http及https

感興趣的可以看一下這篇iOS SDWebImage加載webP

因為我這條件有限,就沒有嘗試pod 'SDWebImage/WebP',不知道這種好不好用

2.我使用的是直接下載SDWebImage,然后手動導(dǎo)入

3因為iOS使用webp需要webp的支持,也就是WebP.framework,但是我看網(wǎng)上各種下載,我自己試了一下,都不是很好用,基本把能下載的都試了,但是都是各種報錯,直到我都想放棄,把框架改為YYWebImage,因為YYWebImage支持webp是很好做的只需要兩步,感興趣的可以試試

(1)pod 'YYWebImage'

(2)pod 'YYImage/WebP'

然后YYWebImage就可以直接加載webp格式圖片了,如果你的項目框架還沒確定,可以直接使用這種

但是因為我框架已經(jīng)確定,所以,不太好改,當(dāng)時我想了個方案,給UIImageView創(chuàng)建一個分類,在分類中創(chuàng)建SDWebImage的下載圖片方法,在實現(xiàn)中使用YYWebImage下載圖片

3 但是我在此過程中想到為什么YYWebImage支持webp那么順利呢,于是去YYImage的GitHub找了下原因,原來在YYImage中有個文件


其實SDWebImage支持webp也是需要這個的,但是網(wǎng)上方法很多都在header里少了幾個.h文件,導(dǎo)致無法使用,我下載的不知道為啥,有沒有這個.sh文件。。。于是我就想可不可以直接把這個拿來用,結(jié)果證明我的思路正確,確實可以加載出來

總結(jié)

總結(jié)一下過程,

1. 下載SDWebImage,拉到項目中

2.下載YYImage 把里面的WebP.framework拉到項目中

3.?讓SDWebImage支持WebP,設(shè)置如下Build Settings -- Preprocessor Macros , add SD_WEBP=1


然后你就發(fā)現(xiàn)在你的項目中可以直接使用SDWebImage,加載webp圖片了


到此就實現(xiàn)了我的目標(biāo)了

喜歡的點擊下收藏紅心吧0.0

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 很久之前寫的了,最近都統(tǒng)一發(fā)了。參考資料,解決問題,總結(jié)一下,作為學(xué)習(xí) 問題 webp 格式圖片加載失敗 方案 方...
    DaZenD閱讀 2,506評論 0 1
  • 前陣子遇到一個加載圖片的問題,webP格式圖片如何在iOS技術(shù)上顯示圖片呢?小編當(dāng)時也是頭疼,想了好幾個辦法都行不...
    032c6843a285閱讀 3,901評論 2 3
  • 恭喜RNG獲得MSI冠軍??,我們是冠軍~~~ webp介紹 當(dāng)今互聯(lián)網(wǎng),無論網(wǎng)頁還是APP,流量占用最大的,多數(shù)都...
    冰land閱讀 10,647評論 8 11
  • 由于最近項目需求,需要將項目中圖片的加載做到同時兼容WebP格式,對于WebP格式的兼容,主要分為兩大塊內(nèi)容: W...
    a_只羊閱讀 30,249評論 2 27
  • 前言 在項目源碼的 YYWebImageOperation.m 第 377 行: 該框架在加載網(wǎng)絡(luò)圖片時,請求網(wǎng)絡(luò)...
    獨木舟的木閱讀 2,311評論 0 2

友情鏈接更多精彩內(nèi)容