获取 Blob 图像并将其转换为位图图像

8

我从数据库中获取了以blob格式存储的图片,现在想将其转换为位图(Bitmap)格式。我使用的代码如下,但请告诉我如何反向操作?

ByteArrayOutputStream boas = new ByteArrayOutputStream();  
btmap.compress(Bitmap.CompressFormat.JPEG, 100, boas ); //bm is the bitmap object   
byte[] byteArrayImage = boas .toByteArray(); 
String encodedImage = Base64.encodeToString(byteArrayImage, Base64.DEFAULT);

请编辑并格式化您的问题。 - Sankar V
可能是重复的问题:如何将图像存储为SQLite中的blob并检索它? - Siddharth Lele
2个回答

30

这将起作用

byte[] byteArray = DBcursor.getBlob(columnIndex);  

Bitmap bm = BitmapFactory.decodeByteArray(byteArray, 0 ,byteArray.length);

3
你可以使用这个简单的静态函数,它非常容易实现和重用 :)
public static Bitmap getBitmapFromBytes(byte[] bytes) {
        if (bytes != null) {
            return BitmapFactory.decodeByteArray(bytes, 0 ,bytes.length);
        }
        return null;
 }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接