【问题标题】:Display byte array of image in imageview在 imageview 中显示图像的字节数组
【发布时间】:2013-03-15 15:42:47
【问题描述】:

我正在尝试在 android 活动的图像视图中显示来自服务器的图像字节数组。我能够正确地获取从服务器发送的字节数组,但是在将其转换为位图时它总是返回 null。我使用 BitmapFactory.decode(byteArray,0, byteArray.length) 将图像字节数组转换为始终返回 null 的位图。

请帮我解决这个问题并告诉我是否有其他选择。

提前致谢。

【问题讨论】:

  • 从服务器收到的数据是什么图片格式? BitmapFactory decodeByteArray API 期待“压缩图像数据”,这表明它想要例如JPEG/PNG/等
  • 嗨乔纳森感谢您的回复,我正在使用 .png 图像格式。

标签: android android-layout bitmap bitmapfactory


【解决方案1】:

更好的选择是使用它。我用它来显示服务器上存在的图像。相当快

URL url = new URL(link);
InputStream picin = url.openStream();
Bitmap myBitmap = BitmapFactory.decodeStream(picin);
pic.setImageBitmap(myBitmap);

链接指向 jpg 图像的位置。也适用于其他图像格式。

【讨论】:

  • 感谢您的回复...它正在工作,我能够在我的活动的图像视图中显示来自服务器的图像。但我需要将 mysql 数据库中的 BLOB 图像数据显示到 imageview 中有没有其他方法可以做到这一点?请回复
  • 欢迎 Karthi,我猜 BitmapFactory 与 BLOB 类型不兼容。因此,您可以尝试先转换您的 JPG,然后再进行渲染。在 BLOB-to-JPG 上进行一些搜索。
猜你喜欢
  • 1970-01-01
  • 2021-04-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-25
  • 2013-07-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多