我想从预览视图将CameraX预览转换为位图。类似于 textureView.bitmap 的东西
我已经尝试过使用纹理视图并且它工作得很好,我可以截取相机视图的屏幕截图,但相机被拉伸了。
PreviewView现在通过调用 PreviewView.getBitmap(( 来支持屏幕截图。请参阅: https://developer.android.com/reference/androidx/camera/view/PreviewView#getBitmap((
我终于在这个链接中找到了答案
首先将首选实现模式设置为纹理视图,如下所示:
previewView.preferredImplementationMode = PreviewView.ImplementationMode.TEXTURE_VIEW
然后获取位图
fun getPreviewViewBitmap(width: Int, height: Int): Bitmap? {
val previewChildView = previewView.getChildAt(0)
if (previewChildView is TextureView)
return previewChildView.getBitmap(width, height)
return null
}
注意:我只在少数设备上进行了测试,效果很好。
干杯。