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);   
}

你可能感兴趣的:(Android中传递图片的2种方法)