路过形象PutExtra Android中(Passing the Image in PutExtr

2019-07-31 07:05发布

我想()中的背景图片,我已在PutExtra设置为按钮意图对象传递到另一个类。

任何人都可以知道该怎么做呢?

由于davidbrown

Answer 1:

发件人活动:

Bitmap bitmap = BitmapFactory.decodeResource
                (getResources(), R.drawable.sticky_notes); // your bitmap
        ByteArrayOutputStream bs = new ByteArrayOutputStream();
        bitmap.compress(Bitmap.CompressFormat.JPEG, 50, bs);
        intent.putExtra("byteArray", bs.toByteArray());

Reciever活动:

 if(getIntent().hasExtra("byteArray")) {
            ImageView imv= new ImageView(this);
            Bitmap bitmap = BitmapFactory.decodeByteArray(
                    getIntent().getByteArrayExtra("byteArray"), 0, getIntent().getByteArrayExtra("byteArray").length);
            imv.setImageBitmap(bitmap);
          }


Answer 2:

意图可以只保留40千字节。 如果你可以压缩你的图片小于40个字节 - 你可以把它变成演员



Answer 3:

intent.putExtra("imageData", bitmap)

更好的方法是创建一个链接,而不是通过直接的位图。

intent.putExtra("image_url",R.drawable.image);


Answer 4:

试试这个...

首先得到图像中的位图。

Bitmap tileImage = BitmapFactory.decodeResource(getResources(), R.drawable.floore);

CONVER它在字节数组。

 ByteArrayOutputStream stream = new ByteArrayOutputStream();
      photo.compress(Bitmap.CompressFormat.PNG, 100, stream);
      byte[] byteArray = stream.toByteArray();

      Bundle b = new Bundle();
      b.putByteArray("camara",byteArray);

      Intent intent3 = new Intent(this,Second.class);
      intent3.putExtras(b);
      startActivity(intent3);          


Answer 5:

您可以通过Bitmap (因为它是实现Parcelable )如果你确定它不会被从内存中删除(换句话说-不要这样的位图)。

Bitmap本身就是原生资源的Java小包装,所以它不会占用很大的空间。



文章来源: Passing the Image in PutExtra in Android