字符串到图像

时间:2012-03-20 05:46:30

标签: java android

我使用以下代码从字符串中获取位图,但我得到空位图。所以请指导我。

                    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);

4 个答案:

答案 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