【问题标题】:Convert Image object to Base64 String in Android在 Android 中将 Image 对象转换为 Base64 字符串
【发布时间】:2018-04-10 22:07:12
【问题描述】:

我已经看到了大量相关的问题,但没有一个真正回答这个问题,而且许多人只是在未定义变量的上下文中使用代码 sn-ps。

我需要将图像存储在数据库中(据我所知,我应该使用 Base64 编码的字符串),并将它们用作 Android 代码中的 Image 对象。

根据我的研究,我需要将 Image 转换为 Bitmap,然后 Bitmap 可以转换为 Base64 字符串。但我一生都无法弄清楚如何将图像转换为位图。任何帮助表示赞赏。

编辑:虽然其他问题确实将图像从文件位置转换为字符串,但我没有文件位置。该图像仅作为 android.media.Image 的一个实例存储,我不知道如何使用文件路径或类似的方式访问它。

编辑 2:好的,这是我的设置:图像将作为 Base64 编码字符串存储在 Firebase 数据库中。当我需要它们时,我会从那里拉出字符串并将其转换为一个 Image 对象,这只是我暂时拥有的一个变量。它们永远不会存储本地,只有在实际应用中它们是 Image 对象时。

【问题讨论】:

  • @NorthernPoet 这个问题从图像的文件路径开始;我没有本地存储的图像,我只有一个 Image 对象。
  • @Vedvart1 您的图片在哪里?在可绘制文件夹中?或者你是从网页 url 加载的?
  • The image is stored solely as an instance of android.media.Image, 。它以这种方式存储在哪里?
  • @LokeshDesai 它们不会存储在手机上或从 URL 加载;它们以字符串的形式存储在在线数据库中。查看我的新编辑。

标签: android image android-bitmap


【解决方案1】:

只需将您的 base64 字符串转换为位图,然后使用以下代码将该位图加载到图像视图中

byte[] decodedString = Base64.decode(encodedImage, Base64.DEFAULT);
Bitmap decodedByte = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length); 
image.setImageBitmap(decodedByte);

【讨论】:

  • 谢谢,这个方法够用了。
  • @Vedvart1 如果您遇到任何问题,请告诉我...享受编码
猜你喜欢
  • 2017-12-20
  • 2019-09-22
  • 1970-01-01
  • 2018-02-19
  • 1970-01-01
  • 1970-01-01
  • 2017-06-29
  • 2021-12-12
  • 1970-01-01
相关资源
最近更新 更多