最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

關于Android 的 Fresco的圖片加載,二次采樣,色彩矩陣的小總結(隨堂筆記,純文字)

2020-12-06 09:33 作者:幻雨之秋  | 我要投稿

這幾天主要學習了Fresco的圖片加載,二次采樣,色彩矩陣。

Fresco:是Facebook提供的開源圖片加載庫,它能夠從網(wǎng)絡,本地存儲和Android資源文件中加載圖片。

二次采樣是為了讓圖片減少內(nèi)存占用,在加載到內(nèi)存中會進行壓縮,減少它占用的內(nèi)存,

而矩陣:是可以圖形變換,變換形狀。

色彩矩陣:是和PS的遮罩差不多,可以設置一些圖片特效。

在網(wǎng)上最常用的加載框架的來說,Glide是占用最少的。


先說說Fresco是如何使用的,

首先把Fresco的依賴先加載上,

新new個類,設置一下,然后再到配置清單里面注冊一下。

之后在xml里面創(chuàng)建組件SimpleDraweeView

在MainActivity里面正常調用一下,用setImageURI("網(wǎng)址")設置一下,就可以正常使用了。

有的時候,網(wǎng)絡不好就需要占位圖來確定一下。

設置占位圖的方法是這樣的,在xml中的SimpleDraweeView里面寫一個failureImage屬性設置一下,

就可以設置加載失敗時顯示的圖。

在Fresco 與Glide相比,F(xiàn)resco 可以更容易對網(wǎng)絡圖片進行設置,就比如Fresco 組件的fadeDuration屬性可以設置

圖片淡出時間,而Glide就只能在圖片得到后,設置動畫進行顯示。

Fresco 組件的roundAsCircle屬性可以設置是否是圓形圖片,

Fresco 組件的roundingBorderColor屬性可以設置圖片描邊的顏色,

Fresco 組件的roundingBorderWidth可以設置描邊的寬度等等。

功能比Glide要多,只是現(xiàn)在用的公司比較少了。


再說一下二次采樣,

它的第一步創(chuàng)建一個ImageView并調用,需要先將這個數(shù)據(jù)變成bitmp類型,

所以第二步創(chuàng)建BitmapFactory.decodeStream( getResources(),圖片的id)將數(shù)據(jù)轉換成bitmap

然后再從bitmp類型變成圖片占用大小,就要在第三步創(chuàng)建BitmapFactory.decodeByteArray(),就可以獲取到圖片所占用的內(nèi)存大小。

其中BitmapFactory.decodeFile()還可以把字節(jié)數(shù)組變?yōu)閳D片,創(chuàng)建不創(chuàng)建看需求。

還有一點,由于網(wǎng)絡圖片太大,正常點的手機就這樣直接加載20張圖片大概就會崩潰,這時候就需要進行壓縮處理,二次采樣就可以做到這一點,

先創(chuàng)建BitmapFactory.decodeStream( getResources(),圖片的id)將圖片轉換成bitmap,options);

new一個 BitmapFactory.Options ,讓BitmapFactory.decodeStream來調用,

在BitmapFactory.Options 再調用 options.outWidth和options.outHeight獲取圖片的寬高,

就可以設置下一步操作了

接著用BitmapFactory.Options調用inJustDecodeBounds 把它設置成false,

再用BitmapFactory.Options調用inSamlpleSize

將inSamlpleSize 設置一下 ,比如 設置為2,圖片就會變成原來的四分之一的的大小,

二次采樣就完成了。


ColorMatrix顏色變換,

主要是通過RGBA的方法來調整的。

Matrix圖片變換,

對一個圖片進行變換的處理。

ColorMatrix顏色變換和Matrix圖片變換,這兩個功能,正常開發(fā)很少用就是了,主要的面試要考,在網(wǎng)上了解一下就行。


關于Android 的 Fresco的圖片加載,二次采樣,色彩矩陣的小總結(隨堂筆記,純文字)的評論 (共 條)

分享到微博請遵守國家法律
海晏县| 雷波县| 高尔夫| 新竹县| 双辽市| 孝感市| 巨野县| 黄山市| 鄂州市| 专栏| 汉川市| 西昌市| 格尔木市| 家居| 麻城市| 广宁县| 冕宁县| 宁武县| 洪江市| 龙泉市| 瑞昌市| 淮南市| 金沙县| 渭南市| 高邑县| 唐河县| 渝中区| 桃园市| 唐山市| 南华县| 鄂温| 敦化市| 洛浦县| 民和| 闸北区| 普定县| 长治市| 大关县| 密云县| 嘉峪关市| 元朗区|