Kotlin 中的字符串到位图

Ale*_*ang 4 android kotlin

我是 Kotlin 的新手,我似乎无法解决这个问题。我得到一个 base64String 并且我需要一个图像。

我做了:

val imageBytes = string.toByteArray(). // string is the base64image
val image = BitmapFactory.decodeByteArray(imageBytes, 0, imageBytes.size)
Run Code Online (Sandbox Code Playgroud)

问题是,当我尝试访问 时image,我SkAndroidCodec::NewFromStream returned null在日志中收到一条消息。我想在一个带有返回值的方法中使用它,但它一直在return image.

我如何正确转换它?

我已经检查过,字符串不为空,imageBytes 有内容,imageBytes.size 超过 60000。我在 swift 中使用的相同字符串,它无需任何修改即可转换图像,所以我相信字符串不是问题。

Str*_*lok 7

val imageBytes = Base64.decode(string, 0)
val image = BitmapFactory.decodeByteArray(imageBytes, 0, imageBytes.size)
Run Code Online (Sandbox Code Playgroud)

就这些。您只需要先将 base 64 字符串解码为字节数组。