我正在尝试使用下面的函数将camerax的拍照方法捕获的图像转换为位图
fun imageProxyToBitmap(image: ImageProxy): Bitmap {
val buffer: ByteBuffer = image.planes[0].buffer // :- This line is where error was occurring
buffer.rewind()
val bytes = ByteArray(buffer.capacity())
buffer.get(bytes)
return BitmapFactory.decodeByteArray(bytes, 0, bytes.size)
}
但这是一个错误
java.lang.IllegalStateException: Image is already closed
我正在使用最新版本的camerax库 "1.0.0-beta11"
如何解决这个问题?
1条答案
按热度按时间wlwcrazw1#
这很管用
解决办法是,必须打电话
super.onCaptureSuccess(image)
转换后。原因可能是这样的