使用Camera API拍照后,此图片会显示在屏幕上/此活动中。我想将覆盖整个屏幕的图片发送到另一个名为PictureEditor的活动。在那里,我将添加可以编辑图片的功能。
// Code in MainActivity
mCamera.takePicture(null, null, mPicture);
Intent i = new Intent(getApplicationContext(), PictureEditor.class);
Bitmap b = getBitmapFromView(mPreview);
ByteArrayOutputStream bs = new ByteArrayOutputStream();
b.compress(Bitmap.CompressFormat.PNG, 50, bs);
i.putExtra("byteArray", bs.toByteArray());
startActivity(i);
在PictureEditor中,我在OnCreate中有这段代码。
// Code in PictureEditor
if(getIntent().hasExtra("byteArray")) {
ImageView previewThumbnail = new ImageView(this);
Bitmap b = BitmapFactory.decodeByteArray(
getIntent().getByteArrayExtra("byteArray"),0,getIntent().getByteArrayExtra("byteArray").length);
previewThumbnail.setImageBitmap(b);
}
如何在PictureEditor中检索此图片,并且此图片是此活动中屏幕上唯一可见的内容? (解码位图并将其显示为屏幕上的图像)
感谢各种帮助!
答案 0 :(得分:0)
// Code in PictureEditor
if(getIntent().hasExtra("byteArray")) {
ImageView previewThumbnail = new ImageView(this);
Bitmap b =(Bitmap) getIntent().getParcelableExtra("byteArray");
previewThumbnail.setImageBitmap(b);
}
但是如果你在活动之间发送信息。此信息的大小不能超过1 MB。你必须压缩你的位图。
答案 1 :(得分:0)
而不是startActivity
调用startActivityForResult
,而是通过同一活动中的onActivityResult
回调方法从捆绑中获取图片,并将图片传递给新的Activity
。< / p>