2010-08-23 81 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);`