我目前使用
我使用以下方法将
生成的位图有时会旋转,有时不会,这取决于拍摄图片的设备。
OnImageCaptured
回调来获取我的图像,而不是将其保存到设备上。当从ImageProxy
获取图像时,我很难理解何时需要旋转图像。我使用以下方法将
ImageProxy
中的数据转换为BitMap
:...
val buffer: ByteBuffer = imageProxy.planes[0].buffer // Only first plane because of JPEG format.
val bytes = ByteArray(buffer.remaining())
buffer.get(bytes)
return BitmapFactory.decodeByteArray(bytes, 0, bytes.size)
生成的位图有时会旋转,有时不会,这取决于拍摄图片的设备。
ImageProxy.getImageInfo().getRotationDegrees()
返回正确的旋转角度,但我不知道何时需要应用它,因为有时在位图中应用它,有时则没有。
ImageCapture.OnCapturedImageListener
documentation 还说:
提供的图像是由底层 ImageReader 捕获而不应用旋转的。rotationDegrees 描述了顺时针旋转的量,如果应用到图像中,将使其与当前配置的目标旋转匹配。
这让我想到我可能没有正确获取位图,因为有时已经应用了旋转。我是否遗漏了什么?