Android:位图到字节数组并返回:SkImageDecoder :: Factory返回null

Android:位图到字节数组并返回:SkImageDecoder :: Factory返回null,第1张

Android:位图字节数组并返回:SkImageDecoder :: Factory返回null

您正在将位图传递到Intent中,并从捆绑包中的下一个活动中获取位图,但是问题在于,如果那时您的位图/图像大小很大,则无法在下一个活动中加载图像。

使用以下2个解决方案来解决此问题。

1)首先将图像转换为字节数组,然后传递到Intent,然后在下一个活动中从Bundle中获取字节数组,然后转换为Image(Bitmap)并设置为ImageView。

将位图转换为字节数组:

Bitmap bmp = BitmapFactory.depreResource(getResources(), R.drawable.ic_launcher);ByteArrayOutputStream stream = new ByteArrayOutputStream();bmp.compress(Bitmap.CompressFormat.PNG, 100, stream);byte[] byteArray = stream.toByteArray();

将字节数组传递给意图:

Intent intent = new Intent(this, NextActivity.class);intent.putExtra("picture", byteArray);startActivity(intent);

从捆绑中获取字节数组并转换为位图图像:-

Bundle extras = getIntent().getExtras();byte[] byteArray = extras.getByteArray("picture");Bitmap bmp = BitmapFactory.depreByteArray(byteArray, 0, byteArray.length);ImageView image = (ImageView) findViewById(R.id.imageView1);image.setImageBitmap(bmp);

2)首先将图像保存到SDCard中,然后在下一个活动中将此图像设置为ImageView。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5615730.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存