Android中传递图片的2种方法
方法一:
基本思路是先把bitmap转化为byte数组,用Intent传递数组,在将数组转化为bitmap
bitmap转化为byte数组的方法:
privatebyte[]Bitmap2Bytes(Bitmapbm){ ByteArrayOutputStreambaos=newByteArrayOutputStream(); bm.compress(Bitmap.CompressFormat.PNG,100,baos); returnbaos.toByteArray(); }
byte数组转化为bitmap方法:
bytebuff[]=mIntent.getByteArrayExtra("image"); bitmap=BitmapFactory.decodeByteArray(buff,0,buff.length);
方法2:
发送图片:
Intentintent =newIntent(ChangePortraitActivity.this,UserProfileActivity.class); mImageView.setDrawingCacheEnabled(Boolean.TRUE); intent.putExtra("BITMAP",mImageView.getDrawingCache());//这里可以放一个bitmap startActivity(intent);
接收图片:
//接收的activity Intentintent=getIntent(); if(intent !=null&& intent.getParcelableExtra("BITMAP")!=null){ Bitmapbitmap=(Bitmap)getIntent().getParcelableExtra("BITMAP"); mImageViewPortrait.setImageBitmap(bitmap); }