2012-03-20 72 views
0

我使用下面的代碼從字符串獲取位圖,但我得到空位圖。所以請指導我。字符串圖像

    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

我不知道,但我認爲你應該使用的,而不是構造BitmapFactory.decodeStream。 – vorrtex 2012-03-20 05:50:15

回答

1

使用BitmapFactory.decodeByteArray(Image_getByte)

這裏你不需要任何字符串,得到了字節數組後,只是通過它在返回位圖

0
提到的方法

javadoc getBitmap()說:

「返回此drawable用於渲染的位圖。 可能爲空。

0

如果IMG是基地64字符串中使用下列來源獲取從底部64串位圖。

byte[] source=img.getBytes(); 
byte[] Image_getByte = Base64.decode(source); 
Bitmap bitmap = BitmapFactory.decodeByteArray(Image_getByte, 0,Image_getByte.length); 
imageView.setImageBitmap(bitmap); 

這可能會幫助你

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:創建從各種來源的位圖對象,包括 文件,流,和字節陣列。

有關BitmapFactory更多信息,請參閱here