Android如何加載Base64編碼格式圖片
Base64是傳輸字節碼的編碼,Android開發過程中,圖片的加載多數是請求URL路徑或者加載本地的圖片,當然也有加載服務器用Base64編碼過的圖片,比如圖形驗證碼。當然圖形驗證碼我們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); //設置ImageView圖片imageView.setImageBitmap(decodedByte);
編碼后的圖片會有” data:image/;base64, “標識,在進行解碼時我們需要去掉這一部分,否則會導致解碼失敗。base64String.split(',')[1]就是獲取除'data:image/;base64,'后的地址。
加載Base64編碼的圖片就是上述的方法,有時我們還需要對圖片進行編碼與解碼,下面就列出方法。
編碼:
public String encodeImageToString(Bitmap bitmap) { ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); //讀取圖片到ByteArrayOutputStream bitmap.compress(Bitmap.CompressFormat.PNG, 40, outputStream); //參數如果為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; }
到這里就結束啦!
以上就是Android如何加載Base64編碼格式圖片的詳細內容,更多關于Android 加載Base64圖片的資料請關注好吧啦網其它相關文章!
相關文章:
1. 解析原生JS getComputedStyle2. Idea 2019.3 本應該搜索到的插件卻搜索不到的解決方法3. SpringBoot+SpringCache實現兩級緩存(Redis+Caffeine)4. IntelliJ IDEA安裝插件的方法步驟5. 在JSP中使用formatNumber控制要顯示的小數位數方法6. ASP.NET MVC視圖頁使用jQuery傳遞異步數據的幾種方式詳解7. ASP.NET泛型三之使用協變和逆變實現類型轉換8. IntelliJ IDEA導入jar包的方法9. 每日六道java新手入門面試題,通往自由的道路10. 每日六道java新手入門面試題,通往自由的道路--多線程
