我使用以下代码从字符串中获取位图,但我得到空位图。所以请指导我。
byte[] Image_getByte = Base64.decode(img);
ByteArrayInputStream bytes = new ByteArrayInputStream(Image_getByte);
BitmapDrawable bmd = new BitmapDrawable(bytes);
Bitmap bitmap=bmd.getBitmap();
Log.v("log","Home bitmap "+bitmap);
i.setImageBitmap(bitmap);
答案 0 :(得分:1)
使用 BitmapFactory.decodeByteArray(Image_getByte)
这里你不需要任何String,在获得字节数组后,只需在提到的方法中传递它,该方法返回位图
答案 1 :(得分:0)
getBitmap()
的javadoc说:
“返回此drawable用于渲染的位图。可以为null。”
答案 2 :(得分:0)
如果img是base 64 String,请使用以下源从base 64 string获取位图。
byte[] source=img.getBytes();
byte[] Image_getByte = Base64.decode(source);
Bitmap bitmap = BitmapFactory.decodeByteArray(Image_getByte, 0,Image_getByte.length);
imageView.setImageBitmap(bitmap);
这可能对您有所帮助
答案 3 :(得分:0)
请将'ImageContents'视为包含图像数据的字符串。
byte[] imageAsBytes = Base64.decode(ImageContents.getBytes());
ImageView image = (ImageView)this.findViewById(R.id.ImageView);
image.setImageBitmap(
BitmapFactory.decodeByteArray(imageAsBytes, 0, imageAsBytes.length)
);
ImageView:在Android中,你可以使用“android.widget.ImageView”类来 显示图像文件
BitmapFactory:从各种来源创建Bitmap对象,包括 文件,流和字节数组。
有关BitmapFactory的详细信息,请参阅here