1. 程式人生 > >還在羨慕微信/微博的圖片處理?-android酷炫圖片處理(下)

還在羨慕微信/微博的圖片處理?-android酷炫圖片處理(下)

微信一向是android開發者們模仿的物件,上篇文章中,我介紹了一個和微信圖片壓縮,壓縮效果差不多的庫Luban,這篇文章還會介紹高仿微信從檔案系統選擇圖片。此外微博載入超長大圖功能也很酷炫(其實微信朋友圈也有),這篇文章也給出了實現這種效果的功能庫,當然,除此之外還有很多其他酷炫效果的介紹,讓我們的app逼格逐漸高起來吧!

我的上篇文章-拉昇App顏值-android優雅酷炫的圖片處理留下了一個TODO列表,這篇文章主要就是為了完成上篇文章的TODO事件的,自己挖的坑,跪著也要填上^_^!,如果你還沒有讀過上篇文章,歡迎點選傳送門閱讀,純乾貨呦。

如果覺得不錯,歡迎隨手點個喜歡,我會開心很長時間的^_^。

如果大家有好的UI相關開源專案推薦,歡迎在Github提issue或者發起PR,我會認真稽核後合併;也歡迎在我的部落格評論推薦。

最後,點選檢視Github上的本系列部落格完整版總結,如果覺得不錯,歡迎star ^_^。

這篇文章主要介紹如何優雅的對圖片進行如下處理:

  1. 給圖片新增毛玻璃效果;
  2. 剪裁;
  3. 實現類似網頁圖片輪播效果;
  4. 仿微信從檔案系統進行圖片選擇;
  5. 仿微博載入超長大圖;
  6. 載入動態圖。
  7. 其它圖片處理黑科技

毛玻璃模糊效果Blur

毛玻璃效果以前都是默默無聞的,直到微信在朋友圈搞了一個付費看圖的功能之後,毛玻璃效果就流行了起來,下面介紹一些簡單易用的實現毛玻璃效果的庫。

Blurry

Blurry沒什麼好介紹的,看效果圖就行。

專案地址:https://github.com/wasabeef/Blurry/raw/master/art/blurry.gif

效果圖:

ImageBlurring

ImageBlurring的特點是使用多種手段實現對圖片的模糊處理,並比較了處理效率,可以瞭解使用哪種方式處理圖片效率更高。

專案地址:https://github.com/qiujuer/ImageBlurring

效果圖:

圖片裁剪

圖片裁剪功能很常用,如果你做一個app,有上傳使用者頭像的功能,基本都要對原始圖片進行剪裁,系統內建有剪裁功能,可通過特定intent觸發,但是功能有限,不方便定製,這裡介紹幾個效果更好的圖片剪裁庫。

uCrop

uCrop這個專案的目標是:提供終極的、靈活的圖片剪裁體驗!聽著就很厲害的樣子,事實上也確實非常厲害,個人認為這應該是史上體驗最好的剪裁庫。

專案地址:https://github.com/Yalantis/uCrop

效果圖:

android-crop

android-crop看起來更像一個單純的剪裁庫,沒有uCrop提供的那麼多效果,但是就剪裁功能來說,還是很好的。

專案地址:https://github.com/jdamcd/android-crop

效果圖:

圖片輪播

圖片輪播效果再網頁上比較常見,通常網頁首頁最頂部就是幾個大大的輪播圖,當我們還在羨慕那種效果的時候,厲害的人已經在android上實現了類似功能。

AndroidImageSlider

AndroidImageSlider是程式碼家大神開源的圖片輪播庫,支援從網路/drawable/資料夾在圖片進行輪播展示,並且有很多酷炫的動畫。

專案地址:https://github.com/daimajia/AndroidImageSlider

效果圖:

DecentBanner

DecentBanner是另一個支援圖片自動滾動輪播,並支援友好動畫的圖片輪播庫,話不多說,看效果圖!

專案地址:https://github.com/chengdazhi/DecentBanner

效果圖:

仿微信從檔案系統載入圖片

是不是還在羨慕微信發朋友圈的時候的圖片選擇效果,從現在起不用了,你也可以擁有那種效果了!

MultiImageSelector

MultiImageSelector是一個高仿微信朋友圈圖片選擇的功能庫,提供多種選擇,例如可以配置選單張還是多張,可以配置最多選幾張,還可以配置是否顯示拍照按鈕等。

專案地址:https://github.com/lovetuzitong/MultiImageSelector

效果圖:


仿微博載入超長大圖

用微博的時候,你一定見過那種點開長的不得了的大圖,如果不做處理載入那麼大的圖片,早就不知道oom到那裡去了,現在出現了一個實現類似微博載入超長大圖的良心之作。

LargeImage

LargeImage庫,可以讓你高清顯示10000*10000畫素的圖片,輕鬆實現微博長圖功能,怎麼實現的也非常值得我們學習。

專案地址:https://github.com/LuckyJayce/LargeImage

效果圖:

載入動態圖

動態圖和上面介紹的長圖,除了在特定的應用,其實用的不是很多,但是,如果用到,我們一定要能夠優雅的處理。

GifView

GifView是一個可以播放GIF圖片的自定義view,並且提供了開始/暫停/停止播放的功能。

專案地址:https://github.com/Cutta/GifView

效果圖:

GifImageView

GifImageView的特點是你可以針對每一幀進行操作,例如新增模糊效果等。

專案地址:https://github.com/felipecsl/GifImageView

效果圖:

其它黑科技

出了常規使用的效果之外,總有一些人,實現了一些意想不到的效果。

android-shape-imageview

這個專案簡直把ImageView玩壞了-_-#,可以把圖片蹂躪成各種形狀,然而專案中出了圓圖和矩形/圓角矩形外,其它的基本用不到。

專案地址:https://github.com/siyamed/android-shape-imageview

效果圖:

FabricView

這個控制元件就相當於是一個playground,可以讓人玩的很開心,你可以在上面寫文字,載入圖片,甚至可以在上面用手指亂寫亂畫,挺好玩呢!

專案地址:https://github.com/antwankakki/FabricView

效果圖:


SimpleTagImageView

這個庫相對於上面的兩個庫,就正常了很多,也比較實用。實現的是給圖片角上打傾斜的tag。

專案地址:https://github.com/wujingchao/SimpleTagImageView

效果圖:


MovingImageView

這個控制元件可以載入一個超出螢幕大小的圖片,然後讓這個圖片在螢幕範圍內四處逛蕩,也比較實用。

專案地址:https://github.com/AlbertGrobas/MovingImageView

效果圖:

這次先介紹這麼多,這個專案我會持續更新,歡迎在我的Github watch/star。最後歡迎大家討論,如果覺得不錯,隨手點個喜歡,或者去我的Github點個star,我可能會開心好幾天 Y(^_^)Y,謝謝大家!

關於我

我的Github

我的個人部落格

我的簡書

我的CSDN