Android如何加載Base64編碼格式圖片
Base64是傳輸字節(jié)碼的編碼,Android開發(fā)過程中,圖片的加載多數(shù)是請求URL路徑或者加載本地的圖片,當(dāng)然也有加載服務(wù)器用Base64編碼過的圖片,比如圖形驗(yàn)證碼。當(dāng)然圖形驗(yàn)證碼我們Android也可以用代碼寫,這里就介紹Android端加載Base64編碼的圖片。話不多說,直接上代碼:
ImageView加載Base64編碼圖片,代碼:
//Base64編碼地址(地址太長,省略)
String base64String = "data:image/jpeg;base64,/9j/4AAQSkZJRgA...........";
//將Base64編碼字符串解碼成Bitmap
byte[] decodedString = Base64.decode(base64String.split(",")[1], Base64.DEFAULT);
Bitmap decodedByte = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length);
//設(shè)置ImageView圖片
imageView.setImageBitmap(decodedByte);
編碼后的圖片會(huì)有” data:image/;base64, “標(biāo)識,在進(jìn)行解碼時(shí)我們需要去掉這一部分,否則會(huì)導(dǎo)致解碼失敗。base64String.split(",")[1]就是獲取除"data:image/;base64,"后的地址。
加載Base64編碼的圖片就是上述的方法,有時(shí)我們還需要對圖片進(jìn)行編碼與解碼,下面就列出方法。
編碼:
public String encodeImageToString(Bitmap bitmap) {
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
//讀取圖片到ByteArrayOutputStream
bitmap.compress(Bitmap.CompressFormat.PNG, 40, outputStream); //參數(shù)如果為100那么就不壓縮
byte[] bytes = outputStream.toByteArray();
String strImg = Base64.encodeToString(bytes, Base64.DEFAULT);
return strImg;
}
解碼:
public Bitmap sendImage(String imgAddress) {
byte[] input = Base64.decode(imgAddress, Base64.DEFAULT);
Bitmap bitmap = BitmapFactory.decodeByteArray(input, 0, input.length);
return bitmap;
}
到這里就結(jié)束啦!
以上就是Android如何加載Base64編碼格式圖片的詳細(xì)內(nèi)容,更多關(guān)于Android 加載Base64圖片的資料請關(guān)注腳本之家其它相關(guān)文章!
- Android如何使用Glide加載清晰長圖
- android實(shí)現(xiàn)長圖加載效果
- Android仿微博加載長圖滾動(dòng)查看效果
- Android 官推 kotlin-first 的圖片加載庫——Coil的使用入門
- Android Fresco圖片加載優(yōu)化的方案
- Android實(shí)現(xiàn)圖片加載進(jìn)度提示
- Android適配利用webview加載后圖片顯示過大的問題解決
- Android框架Volley之利用Imageloader和NetWorkImageView加載圖片的方法
- Android框架Volley使用:ImageRequest請求實(shí)現(xiàn)圖片加載
- Android高效安全加載圖片的方法詳解
- Android加載長圖的多種方案分享
相關(guān)文章
Android使用Fragment實(shí)現(xiàn)兼容手機(jī)和平板的程序
這篇文章主要介紹了Android使用Fragment實(shí)現(xiàn)兼容手機(jī)和平板的程序,幫助大家更好的理解和學(xué)習(xí)使用Android開發(fā),感興趣的朋友可以了解下2021-04-04
flutter 動(dòng)手?jǐn)]一個(gè)城市選擇citypicker功能
在一些項(xiàng)目開發(fā)中經(jīng)常會(huì)用到城市選擇器功能,今天小編動(dòng)手?jǐn)]一個(gè)基于flutter 城市選擇citypicker功能,具體實(shí)現(xiàn)過程跟隨小編一起看看吧2021-08-08
實(shí)例講解Android應(yīng)用開發(fā)中TabHost的使用要點(diǎn)
這篇文章主要介紹了Android應(yīng)用開發(fā)中TabHost的使用要點(diǎn),文中以實(shí)例講解了TabHost與Tab的布局方法,需要的朋友可以參考下2016-04-04
Android使用Volley框架定制PostUploadRequest上傳文件
這篇文章主要為大家詳細(xì)介紹了Android使用Volley框架定制PostUploadRequest上傳文件或圖片,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-12-12
使用androidx BiometricPrompt實(shí)現(xiàn)指紋驗(yàn)證功能
這篇文章主要介紹了使用androidx BiometricPrompt實(shí)現(xiàn)指紋驗(yàn)證功能,對android指紋驗(yàn)證相關(guān)知識感興趣的朋友跟隨小編一起看看吧2021-07-07
Android連接服務(wù)器端的Socket的實(shí)例代碼
這篇文章主要介紹了Android連接服務(wù)器端的Socket的實(shí)例代碼,需要的朋友可以參考下2017-05-05
解決android.support.v4.content.FileProvide找不到的問題
這篇文章主要介紹了解決android.support.v4.content.FileProvide找不到的問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03
Android 程序申請權(quán)限注意事項(xiàng)
本主要介紹Android 程序申請權(quán)限注意事項(xiàng),這里整理了相關(guān)資料,并詳細(xì)說明如何避免開發(fā)的程序支持設(shè)備減少,有需要的小伙伴可以參考下2016-09-09

