Android中传递图片的2种方法

时间:2022-03-14 14:48:02

方法一:

基本思路是先把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);   
}