我想将 CameraX 预览从 previewView 转换为位图。类似于 textureView.bitmap 的东西
我已经用纹理视图尝试过它,它工作得很好,我可以截取相机视图的屏幕截图,但相机被拉伸了。
我想将 CameraX 预览从 previewView 转换为位图。类似于 textureView.bitmap 的东西
我已经用纹理视图尝试过它,它工作得很好,我可以截取相机视图的屏幕截图,但相机被拉伸了。
PreviewView 现在通过调用 PreviewView.getBitmap() 支持屏幕截图。请参阅:https://developer.android.com/reference/androidx/camera/view/PreviewView#getBitmap()
我终于在这个链接中找到了答案
首先将首选实现模式设置为 TextureView,如下所示:
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
}
注意:我只在少数设备上进行了测试,效果很好。
干杯。