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. try {

  6. bitmap.compress(CompressFormat.PNG, 100, bStream);

  7. bStream.flush();

  8. bStream.close();

  9. byte[] bytes = bStream.toByteArray();

  10. string.append(Base64.encodeToString(bytes, Base64.NO_WRAP));

  11. } catch (IOException e) {

  12. e.printStackTrace();

  13. }

  14. System.out.println("string.."+string.length());

  15. return string.toString();

  16. }

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>

android 在HTML中显示bitmap,布布扣,bubuko.com

时间: 2024-10-13 01:52:12

android 在HTML中显示bitmap的相关文章

我的Android进阶之旅------&gt; Android在TextView中显示图片方法

面试题:请说出Android SDK支持哪些方式显示富文本信息(不同颜色.大小.并包含图像的文本信息),并简要说明实现方法. 答案:Android SDK支持如下显示富文本信息的方式. 1.使用TextView组件可以显示富文本信息.在TextView组件中可以使用富文本标签来显示富文本信息,这种标签类似于HTML标签,但比HTML标签简单,支持有限的几种显示富文本的方式.如<font>标签用于设置字体和颜色,<b>用于设置粗体.包含这些标签的文本不能直接作为TextView.se

Android应用开发中对Bitmap的内存优化

在Android应用里,最耗费内存的就是图片资源.而且在Android系统中,读取位图Bitmap时,分给虚拟机中的图片的堆栈大小只有8M,如果超出了,就会出现OutOfMemory异常.所以,对于图片的内存优化,是Android应用开发中比较重要的内容. 1) 要及时回收Bitmap的内存 Bitmap类有一个方法recycle(),从方法名可以看出意思是回收.这里就有疑问了,Android系统有自己的垃圾回收机制,可以不定期的回收掉不使用的内存空间,当然也包括Bitmap的空间.那为什么还需

android string.xml中显示特殊字符

项目中要在string.xml 中显示特殊符号,如>号冒号等,直接写肯定不行啦..只能考虑使用ASCII码进行显示: @号 @ :号 : 空格 以下为常见的ASCII十进制交换编码: & #032;--> <-- 这边是空格 & #033;-->!<-- & #034;-->"<-- xml中需要在前面加入 & #035;-->#<-- & #036;-->$<-- & #037;-

[Android Pro] service中显示一个dialog 或者通过windowmanage显示view

转载: http://blog.csdn.net/huxueyan521/article/details/8954844 通过windowmananger来在窗口上添加view的时候,需要设置alert参数,而且要添加alert权限 mLayoutParams = new WindowManager.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, LayoutParams.TYPE_SYSTEM_ALERT,

Unity 3D:在现有的Android游戏场景中显示AdMob的横幅

关于如何在现有的Android项目现场显示AdMob的横幅,在一个Android项目中使用一个简单的Android JAR文件似乎不是一个简单的事情.我终于设法让AdMob在现有工作统一安卓游戏.对于本例,我使用统一为Windows版本3.5.2和最新的Eclipse为Android插件. 先决条件我假设您有一个工作在你的电脑上安装Android的Eclipse插件.如果没有,请按照本教程准备工作区: https://github.com/unity-plugins/Unity-Admob. E

Android 在界面中显示以及输入文本信息 TextView和EditText

Android控件之TextView和EditTextTextView:显示文本框控件EditText:输入文本框TextView和EditText的常用属性TextView控件的常用属性android:id 控件的idandroid:layout_width 控件的宽度android:layout_height 控件的高度android:text 文本内容android:textSize 文本大小android:textColor 文本颜色android:background 控件背景Edit

Android从imageview中获得bitmap

第一种: 使用setDrawingCacheEnabled()和getDrawingCache()这两种方法,第一个是为了设置是否开启缓存,第二个就可以直接获得imageview中的缓存,一般来说需要在获得缓存以后setDrawingCacheEnabled设置为false,因为这样才能让之前的缓存去掉,不会影响后来新的缓存. image.setDrawingCacheEnabled(true); Bitmap bm = image.getDrawingCache(); image.setDra

Android 从imageview中获得bitmap的方法

第一种: 使用setDrawingCacheEnabled()和getDrawingCache()这两种方法,第一个是为了设置是否开启缓存,第二个就可以直接获得imageview中的缓存,一般来说需要在获得缓存以后setDrawingCacheEnabled设置为false,因为这样才能让之前的缓存去掉,不会影响后来新的缓存. ImageView image = (ImageView) view.getTag(); Matrix max = new Matrix(); image.setDraw

Android关于listview中显示网络图片的问题

在listview中第二次下载图片时就会出现 SkAndroidCodec::NewFromStream returned null 可能是图片大了点,它第一次还没下载完就第二次开始调用了 所以我采取的措施就是:既然每次下载图片都是在子线程中执行的,于是我在外面(循环里面)等待子线程调用完毕后再进行下一张图片的下载 以下是我 部分中的 完整代码 List<Map<String, Object>> data = new ArrayList<Map<String, Obje