java bitmap 对象_如何将Bitmap对象从一个活动传递到另一个活动

由于Parceable(1mb)的大小限制,将位图在活动之间作为可解析的方式传递不是一个好主意。您可以将位图存储在内部存储的文件中,并在多个活动中检索存储的位图。这是一些示例代码。

将位图存储在文件中MyImage在内部储存:public String createImageFromBitmap(Bitmap bitmap) {

String fileName = "myImage";//no .png or .jpg needed

try {

ByteArrayOutputStream bytes = new ByteArrayOutputStream();

bitmap.compress(Bitmap.CompressFormat.JPEG, 100, bytes);

FileOutputStream fo = openFileOutput(fileName, Context.MODE_PRIVATE);

fo.write(bytes.toByteArray());

// remember close file output

fo.close();

} catch (Exception e) {

e.printStackTrace();

fileName = null;

}

return fileName;}

然后,在下一个活动中,您可以使用以下代码将该文件myImage解码为位图://here context can be anything like getActivity() for fragment, this or MainActivity.this

Bitmap bitmap = BitmapFactory.decodeStream(context.openFileInput("myImage"));

注大量的零和缩放位图检查是完整的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值