2010-08-23 126 views
16

可以這樣做嗎?我正在閱讀具有圖像的Base64字符串的XML文件。我打算使用Base64.decode來獲取圖像字符串的字節數組。我卡住了,但如何在ImageView中使用它。我必須先創建一個'drawable'類,然後將其設置爲ImageView的src屬性?在Android的ImageView中顯示byte []

謝謝!

回答

25

您可以使用BitmapFactory.decodeByteArray()來執行解碼。

+0

是的。感謝您的意見。 – firnnauriel 2010-08-23 07:52:19

+4

這裏是一個清晰的示例代碼鏈接:http://www.higherpass.com/Android/Tutorials/Working-With-Images-In-Android/2/ – firnnauriel 2010-08-23 07:53:08

45

在碰到這個問題,萬一別人絆倒,這裏是代碼

import android.graphics.Bitmap; 
import android.graphics.BitmapFactory; 
import android.widget.ImageView; 

public class ModelAssistant { 

    public static void setImageViewWithByteArray(ImageView view, byte[] data) { 
     Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0, data.length); 
     view.setImageBitmap(bitmap); 
    } 
} 
1
// Convert bytes data into a Bitmap 
Bitmap bmp = BitmapFactory.decodeByteArray(bytes, 0, bytes.length); 
ImageView imageView = new ImageView(ConversationsActivity.this); 
// Set the Bitmap data to the ImageView 
imageView.setImageBitmap(bmp); 

// Get the Root View of the layout 
ViewGroup layout = (ViewGroup) findViewById(android.R.id.content); 
// Add the ImageView to the Layout 
layout.addView(imageView); 

我們把我們的字節數據到使用Bitmap.decodeByteArray(),然後一個位圖設置爲新創建的ImageView 。

0
byte[] pic = intent.getByteArrayExtra("pic");` capturedImage = (ImageView) findViewById(R.id.capturedImage);`Bitmap bitmap = BitmapFactory.decodeByteArray(pic, 0, pic.length);` Bitmap bitmap1 = Bitmap.createScaledBitmap(bitmap,capturedImage.getWidth(),capturedImage.getHeight(),true);` capturedImage.setImageBitmap(bitmap1);`