方法零: 网上有人想到一种方法,就是先把图片变小,再传递,最后在接收端把图片放大。。这种方法或许可行,但是我认为这很扯,所以无视! 方法一: 基本思路是先把bitmap转化为byte数组,用Inten
方法零:
网上有人想到一种方法,就是先把图片变小,再传递,最后在接收端把图片放大。。这种方法或许可行,但是我认为这很扯,所以无视!
方法一:
基本思路是先把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); }
参考资料:http://www.jb51.net/article/64795.htm