android 在HTML中显示bitmap

逻辑:将bitmap转化为Base64,通过调用HTML中的JS,显示到HTML中

(1)android代码

  1. public String bitmaptoString(Bitmap bitmap) {  
  2.         // 将Bitmap转换成Base64字符串  
  3.         StringBuffer string = new StringBuffer();  
  4.         ByteArrayOutputStream bStream = new ByteArrayOutputStream();  
  5.           
  6.         try {  
  7.             bitmap.compress(CompressFormat.PNG, 100, bStream);  
  8.             bStream.flush();  
  9.             bStream.close();  
  10.             byte[] bytes = bStream.toByteArray();  
  11.             string.append(Base64.encodeToString(bytes, Base64.NO_WRAP));  
  12.         } catch (IOException e) {  
  13.             e.printStackTrace();  
  14.         }  
  15.         System.out.println("string.."+string.length());  
  16.         return string.toString();  
  17.     }

   

    Bitmap bitmap = ....;  //获取bitmap对象

    webView.loadUrl("javascript:onSaveCallback('data:image/png;base64," + bitmaptoString(bitmap)  + "')");    调用JS显示

  (2)Html代码

   

  <html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

    <script type="text/javascript">

      function onSaveCallback(src){
        window.hui.showMessage(src);
        document.getElementById("test").src = src;
      }

    </script>

  </head>
  <body>
    <img id="test" src=""  onclick=""/>
  </body>
  </html>

原文地址:https://www.cnblogs.com/lianghui66/p/3724862.html