前幾天在看公衆號「程序員那些事」,中間有看到一個漫畫。 Gif 趣圖:現代軟件開發流程就是這樣的 這個漫畫貌似不完整,因此有下面圍觀羣衆表示:老闆卡帶了,結局沒了。程序員
圖片的源地址,那麼問題來了,日常咱們在上傳圖片,若是真的須要上傳一張比較大的動圖除了截取一段或者轉成視頻,還有什麼別的方法嗎?WebP!web
是否是以爲很詫異!別的文章講的都是如何將PNG,JPG這一類的靜態圖片轉成WebP,居然連Gif都能轉?(開個玩笑,你要是真的詫異了,請去看個人文章視頻直播之webp禮物解決方案 ) WebP對比Gif有太多自然優點,顏色豐富,支持自定義透明,重點是文件大小小啊!咱們來看一下前面說的那張圖 瀏覽器
是否是感受兩張質量沒有什麼大區別,可是大小差距太大了。 講了這麼多廢話,進入正題Talk is cheap, show me the code!bash
接下來咱們就來分析下如何用gif轉成webP製做,首先咱們須要webP工具包,我是連接 根據各個平臺下載你們所須要的平臺包,而後打開壓縮包在bin下面就會有一個gif2webp的命令行工具。markdown
官方介紹標準的使用方法是工具
gif2webp [options] input_file.gif -o output_file.webp
oop
而後你去執行了,發現霧草,怎麼大小才減小了零點幾兆,這時候就要祭出高級使用法了。google
First!咱們都知道webP有一個壓縮率,這個命令行也有這個參數,參數名是spa
-f 這邊輸入一個0到100的float
命令行
比較通用的是75,因此默認值也是75,可是你運行完,發現仍是不對,大小也沒小多少。之因此會這樣,由於默認是無損的,因此咱們要開啓有損壓縮。
-lossy Encode the image using lossy compression.
複製代碼
加了這個以後是否是一會兒降低到1.8MB,你就開始想,是否是還能壓縮呢?
##沒錯!
這邊咱們要提到一個壓縮方法,gif2webp命令行默認是使用4個壓縮方法的,其實上限是6個,可是壓縮方法越多,意味着壓縮時間越長,固然咱們只是單純的想減小圖片大小,因此咱們能夠再加上一個參數
-m 6
綜上咱們把命令行的全部參數結合到一塊兒
gif2webp path/source.gig -o path/dest.webp -q 75 -lossy -m 6
最終咱們將一張5.1MB的gif壓縮到了1.5MB,質量上並無很大的區別。Unbelievable!!!
寫的有點亂,你們見諒見諒。
PS. 如今公衆號平臺並不支持直接webP上傳,可是!你所看到的公衆號文章所展現的圖片都是被webP轉換過的,估計是爲了兼容Safari或者IE這種不支持webP的瀏覽器吧