java - 将字节转换为位图

标签 java android byte

我必须将一个字节转换为位图并将其设置为 imageview

我确实有方法将 ImageView 中的位图转换为字节,然后稍后插入,

public static byte[] ConvertDrawableToByteArray(Drawable drawableResource) {

             Bitmap imageBitmap = ((BitmapDrawable) drawableResource).getBitmap();
            ByteArrayOutputStream imageByteStream = new ByteArrayOutputStream();
            imageBitmap.compress(Bitmap.CompressFormat.JPEG, 100, imageByteStream);
            byte[] imageByteData = imageByteStream.toByteArray();
            return imageByteData;

}

当我想从数据库检索图像并将其显示在 ImageView 中时

 //--
             byte[] image_b   = c.getBlob(4);
             Bitmap b = BitmapFactory.decodeByteArray(image_b, 0, image_b.length);
             img.setImageBitmap(b);

但它什么也没返回

出了什么问题,请帮忙

非常感谢

最佳答案

我猜这是因为光标没有返回任何内容。也许 Blob 太大而无法一次性查询,因为 android 游标限制为每个查询 1 mb,请再次检查您的 stacktrace/logcat,如果 Blob 大小是问题,您可以尝试将字节拆分为较小的大小并将其存储在你的数据库

关于java - 将字节转换为位图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15504904/

相关文章:

android - 重启手机后服务停止

java - 如何在 Java 中将文件读取为无符号字节?

java - 字符串到byte[]转换问题

java - 为什么我的接口(interface)没有 JLS 声明的方法?

java - TextView 不在主屏幕上打印字符串

JavaFX:TextFlow 中文本元素的 CSS 选择器

android - 在非 Activity 类中获取 SharedPreferences

java - 没有静态方法 combineMeasuredStates(II) 实现底部导航 View 时

c# - 了解字节数组的大小

java - 无法从另一个对象中获取对象中的值(java处理)