【问题标题】:byte[] to image androidbyte[] 到图像 android
【发布时间】:2017-03-23 02:38:20
【问题描述】:

我的问题如下: 我已经使用 blob 格式将一些图片存储到 sqlite 数据库中,这似乎可以正常工作。现在我想把我的图片从数据库中取出,然后放回图片中......使事情复杂化,它们的格式是可变的(png,jpg,也许是别的东西,我不确定) 有没有办法在android中这样做?

谢谢

【问题讨论】:

    标签: android image byte


    【解决方案1】:

    使用BitmapFactory.decodeByteArray()方法:

    byte[] blob=c.getBlob("yourcolumnname");
    Bitmap bmp=BitmapFactory.decodeByteArray(blob,0,blob.length);
    ImageView image=new ImageView(this);
    image.setImageBitmap(bmp);
    

    也请查看this 线程。

    【讨论】:

    • 这正是我所做的,但我使用的是可绘制的,所以我添加了一个演员,但我认为我不需要它。谢谢你们的帮助。感谢这里的详细解释
    • decodeByteArray 方法返回 null 如果图像无法解码;检查存储到 db 的代码。
    • 这不适用于摩托罗拉! decodeByteArray 说我应该发送有效数据,而不是我发送的图像数据。为什么?如何解决?
    【解决方案2】:

    【讨论】:

    • 谢谢提示,如果我没有找到,我会仔细查看并回复您。
    【解决方案3】:

    我更喜欢直接将字节数组转换为 Drawable。这是在 Android 中使用的最佳格式。位图过去曾产生过泄漏。

    Drawable d = Drawable.createFromStream(new ByteArrayInputStream(ARRAY_BYTES), null);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-04-06
      • 2014-10-04
      • 1970-01-01
      • 1970-01-01
      • 2018-07-07
      • 2023-04-02
      • 2011-07-04
      相关资源
      最近更新 更多