Android如何加載Base64編碼格式圖片
Base64是傳輸字節(jié)碼的編碼,Android開發(fā)過程中,圖片的加載多數(shù)是請(qǐng)求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)識(shí),在進(jìn)行解碼時(shí)我們需要去掉這一部分,否則會(huì)導(dǎo)致解碼失敗。base64String.split(",")[1]就是獲取除"data:image/;base64,"后的地址。
加載Base64編碼的圖片就是上述的方法,有時(shí)我們還需要對(duì)圖片進(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圖片的資料請(qǐng)關(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請(qǐng)求實(shí)現(xiàn)圖片加載
- Android高效安全加載圖片的方法詳解
- Android加載長圖的多種方案分享
相關(guān)文章
Android編程之內(nèi)存溢出解決方案(OOM)實(shí)例總結(jié)
這篇文章主要介紹了Android編程之內(nèi)存溢出解決方案(OOM),結(jié)合實(shí)例實(shí)例總結(jié)分析了Android編程過程中常見的內(nèi)存溢出情況與對(duì)應(yīng)的解決方法,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-11-11學(xué)習(xí)使用Material Design控件(二)使用DrawerLayout實(shí)現(xiàn)側(cè)滑菜單欄效果
這篇文章主要為大家介紹了學(xué)習(xí)使用Material Design控件的詳細(xì)教程,使用DrawerLayout和NavigationView實(shí)現(xiàn)側(cè)滑菜單欄效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07AndroidStudio代碼達(dá)到指定字符長度時(shí)自動(dòng)換行實(shí)例
這篇文章主要介紹了AndroidStudio代碼達(dá)到指定字符長度時(shí)自動(dòng)換行實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-03-03Android自定義實(shí)現(xiàn)淘寶下拉刷新效果
這篇文章主要為大家詳細(xì)介紹了Android自定義實(shí)現(xiàn)淘寶下拉刷新效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-12-12Android SpannableString設(shè)置超鏈接、顏色、字體等屬性
這篇文章主要介紹了Android SpannableString設(shè)置超鏈接、顏色、字體等屬性的相關(guān)資料,需要的朋友可以參考下2017-01-01