自定义一个SerializableBitmap

Java code
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
public  class  SerializableBitmap  implements  Serializable {
         private  static  final  long  serialVersionUID = -5228835919664263905L;
         private  Bitmap bitmap;
 
         public  SerializableBitmap(Bitmap b) {
             bitmap = b;
         }
 
         // Converts the Bitmap into a byte array for serialization
         private  void  writeObject(ObjectOutputStream out)  throws  IOException {
             ByteArrayOutputStream byteStream =  new  ByteArrayOutputStream();
             boolean  success = bitmap.compress(Bitmap.CompressFormat.PNG,  0 , byteStream);
             byte  bitmapBytes[] = byteStream.toByteArray();
             if  (success)
                 out.write(bitmapBytes,  0 , bitmapBytes.length);
         }
 
         // Deserializes a byte array representing the Bitmap and decodes it
         private  void  readObject(ObjectInputStream in)  throws  IOException, ClassNotFoundException {
             ByteArrayOutputStream byteStream =  new  ByteArrayOutputStream();
             int  b;
             while  ((b = in.read()) != - 1 )
                 byteStream.write(b);
             byte  bitmapBytes[] = byteStream.toByteArray();
             bitmap = BitmapFactory.decodeByteArray(bitmapBytes,  0 , bitmapBytes.length);
         }
 
         public  Bitmap getBitmap() {
             return  this .bitmap;
         }
     }

类中要使用Bitmap的时候就用SerializableBitmap,设置就是new SerializableBitmap(Bitmap bitmap),取出就是SerializableBitmap.getBitmap()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值