Android中传递图片的2种方法

方法一:

基本思路是先把bitmap转化为byte数组,用Intent传递数组,在将数组转化为bitmap
 
bitmap转化为byte数组的方法:
 


private byte[] Bitmap2Bytes(Bitmap bm){       

    ByteArrayOutputStream baos = new ByteArrayOutputStream();         

    bm.compress(Bitmap.CompressFormat.PNG, 100, baos);         

    return baos.toByteArray();       

   }   

  
byte数组转化为bitmap方法:


byte buff[]=mIntent.getByteArrayExtra("image");    

bitmap = BitmapFactory.decodeByteArray(buff, 0, buff.length);   


方法2:

发送图片:


Intent intent  = new Intent(ChangePortraitActivity.this , UserProfileActivity.class);    

 mImageView.setDrawingCacheEnabled(Boolean.TRUE);    

intent.putExtra("BITMAP", mImageView.getDrawingCache()); //这里可以放一个bitmap    

 startActivity(intent);    


接收图片:

//接收的activity  

Intent intent = getIntent();    

if (intent  != null &&  intent.getParcelableExtra("BITMAP") != null) {    

    Bitmap bitmap = (Bitmap)getIntent().getParcelableExtra("BITMAP");    

    mImageViewPortrait.setImageBitmap(bitmap);    

}