将多个位图转换为byteArray问题

时间:2018-01-29 00:46:09

标签: android image-processing bitmap

我有5个图像位图。哪个必须转换为byteArray。但是在使用下面的代码时,它会在某个时候获得struct。请帮我解决这个问题。

fun bitmapToString(var bitmap:Bitmap):String{
 val byteArrayOutputStream = ByteArrayOutputStream()
    bitmap.compress(Bitmap.CompressFormat.PNG, 100, byteArrayOutputStream)
    val byteArray = byteArrayOutputStream.toByteArray()
    return Base64.encodeToString(byteArray, Base64.DEFAULT)
}

从我的班级我用下面的代码和新的线程

Thread(Runnable{
hmImageBase64[0] = CommonUtils.bitmapToString(resized)
 hmImageBase64[1] = CommonUtils.bitmapToString(resized1)
hmImageBase64[2] = CommonUtils.bitmapToString(resized2)
.
.
.
hmImageBase64[6] = CommonUtils.bitmapToString(resized6)

})

如果我做的任何事情都错了,请告诉我。在此先感谢!!

1 个答案:

答案 0 :(得分:0)

使用asyntask不要同时运行所有hmImageBase64 [0],1,2 ....创建队列或后执行。 第一次完成后开始第二次,其他人也一样。

第一:

plugin

第二:

Thread(Runnable{
 hmImageBase64[0] = CommonUtils.bitmapToString(resized)
})

在第一次完成后再次调用,并且这样一个接一个地调用。