我是 Kotlin 的新手,我似乎无法解决这个问题。我得到一个 base64String 并且我需要一个图像。
我做了:
val imageBytes = string.toByteArray(). // string is the base64image
val image = BitmapFactory.decodeByteArray(imageBytes, 0, imageBytes.size)
问题是,当我尝试访问
image
时,我在日志中收到一条 SkAndroidCodec::NewFromStream returned null
消息。我想在一个带有返回值的方法中使用它,但它一直在 return image
上崩溃。如何正确转换?
我已经检查过,字符串不为空,imageBytes 有内容,imageBytes.size 超过 60000。我在 swift 中使用的相同字符串,它无需任何修改即可转换图像,所以我相信字符串不是问题。
最佳答案
val imageBytes = Base64.decode(string, 0)
val image = BitmapFactory.decodeByteArray(imageBytes, 0, imageBytes.size)
就这些。您只需要先将 base 64 字符串解码为字节数组。
关于android - Kotlin 中的字符串到位图,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45733975/