侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

Android中传递图片的3种方法

2024-05-08 星期三 / 0 评论 / 0 点赞 / 56 阅读 / 2223 字

方法零: 网上有人想到一种方法,就是先把图片变小,再传递,最后在接收端把图片放大。。这种方法或许可行,但是我认为这很扯,所以无视! 方法一: 基本思路是先把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

广告 广告

评论区