最近在开发中需要用到图片bitmap的序列化并进行传递,发现bitmap是没有序列化的,下面是自己实现的一个序列化方法,分享下。 
以下是通过byte[]来进行序列化的,因为bitmap是没有序列化的,需要我们去实现,可以选择继承bitmap实现序列化,这里采用byte[]方式。
接下来就可以使用Intent的putExtra(String name,Parcelable value)来发送bitmap了。

import java.io.ByteArrayOutputStream;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Bitmap.CompressFormat;
import android.os.Parcel;
import android.os.Parcelable; /**
*@author tcwkid
*@date 2011-12-07
*/
public class DetailIcon implements Parcelable{ private Bitmap draw;
private static byte[] byteDraw; public Bitmap getDraw() {
return draw;
} public void setDraw(Bitmap draw) {
this.draw = draw;
} @Override
public int describeContents() {
return 0;
} @Override
public void writeToParcel(Parcel dest, int flags) {
byteDraw=getBytes(draw);
dest.writeByteArray(byteDraw);//其实这里写入是有顺序的,先写的先读
} public static final Parcelable.Creator CREATOR=new Creator() { @Override
public DetailIcon[] newArray(int size) {
return new DetailIcon[size];
} @Override
public DetailIcon createFromParcel(Parcel source) {
DetailIcon di=new DetailIcon();
source.readByteArray(byteDraw);
di.setDraw(getBitmap(byteDraw));
return di;
}
}; private static Bitmap getBitmap(byte[] data) {
return BitmapFactory.decodeByteArray(data, 0, data.length);
} private byte[] getBytes(Bitmap bitmap) {
ByteArrayOutputStream baops = new ByteArrayOutputStream();
bitmap.compress(CompressFormat.PNG, 0, baops);
return baops.toByteArray();
}
}

Android bitmap序列化的更多相关文章

  1. [翻译]开发文档:android Bitmap的高效使用

    内容概述 本文内容来自开发文档"Traning > Displaying Bitmaps Efficiently",包括大尺寸Bitmap的高效加载,图片的异步加载和数据缓存 ...

  2. Android Bitmap 和 ByteArray的互相转换

    Android Bitmap 和 ByteArray的互相转换 移动平台图像处理,需要将图像传给native处理,如何传递?将bitmap转换成一个 byte[] 方便传递也方便cpp代码直接处理图像 ...

  3. Android——BitMap(位图)相关知识总结贴

    Android中文API(136) —— Bitmap http://www.apkbus.com/android-54644-1-1.html Android 4.0 r1 API—Bitmap(S ...

  4. Android Bitmap 全面解析(四)图片处理效果对比 ...

    对比对象: UIL Volley 官方教程中的方法(此系列教程一里介绍的,ImageLoader的处理方法和官方的差不多) -------------------------------------- ...

  5. 36、Android Bitmap 全面解析

    Android Bitmap 全面解析(一)加载大尺寸图片 http://www.eoeandroid.com/thread-331669-1-1.html Android Bitmap 全面解析(二 ...

  6. Android bitmap图片处理

    一.View转换为Bitmap         在Android中所有的控件都是View的直接子类或者间接子类,通过它们可以组成丰富的UI界面.在窗口显示的时候Android会把这些控件都加载到内存中 ...

  7. Android Bitmap 载入与像素操作

    Android Bitmap 载入与像素操作 一:载入与像素读写 在Android SDK中,图像的像素读写能够通过getPixel与setPixel两个Bitmap的API实现. Bitmap AP ...

  8. android bitmap compress(图片压缩)

    android bitmap compress android的照相功能随着手机硬件的发展,变得越来越强大,能够找出很高分辨率的图片. 有些场景中,需要照相并且上传到服务,但是由于图片的大小太大,那么 ...

  9. Android Bitmap 常见的几个操作:缩放,裁剪,旋转,偏移

    Android Bitmap 相关操作 常见的几个操作:缩放,裁剪,旋转,偏移      很多操作需要 Matrix 来支持:Matrix 通过矩阵来处理位图,计算出各个像素点的位置,从而把bitma ...

随机推荐

  1. JavaScript学习笔记2-数组对象

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  2. NOI 能量采集

    /** 大意: 求解 在[1,n] x, [1,m] y,之间有多少个gcd(x,y) = d d = min(n,m) 思路: 对于任意一个d 在[1,n] x, [1,m] y, gcd(x,y) ...

  3. 高级UNIX环境编程13 守护进程

    linux下,keventd守护进程为内核中运行的执行的函数提供进程上下文 bdflush,kupdated将高速缓存中的数据冲洗到磁盘上

  4. struts ModelDriven

    在表单提交的时候传值是这样,name=admin.username name=admin.password,然后在action中定义属性admin生成get和set 也可以实现ModelDriven这 ...

  5. libpng causes error concerning pngconf.h

    Bug Description Ubuntu Gutsy Gibbon 7.10 - libpng 1.2.15~beta5-2ubuntu0.1 (bug probably concerned wi ...

  6. Java:使用synchronized和Lock对象获取对象锁

    在并发环境下,解决共享资源冲突问题时,可以考虑使用锁机制. 1.对象的锁 所有对象都自动含有单一的锁. JVM负责跟踪对象被加锁的次数.如果一个对象被解锁,其计数变为0.在任务(线程)第一次给对象加锁 ...

  7. mysql select简单用法

    1.select语句可以用回车分隔 $sql="select * from article where id=1" 和 $sql="select * from artic ...

  8. IOS7 适配以及向下兼容问题

    1.所有的UIViewController加如下方法.     - (void) viewDidLayoutSubviews {         if ([[[UIDevice currentDevi ...

  9. eclipse+python+Anaconda ML环境搭建

    整个流程按照这个来: http://blog.csdn.net/olaking/article/details/42435451 你会发现pydev安装不了,听说服务器被和谐了,下面这篇文章告诉你如何 ...

  10. ListActivity的注意点

    有的时候我们需要集成ListActivity,注意点1,这个时候我们的xml中的<ListView>标签中的id属性不能够随便自己命名,而是要固定为android:id="@id ...