2

我想将 CameraX 预览从 previewView 转换为位图。类似于 textureView.bitmap 的东西

我已经用纹理视图尝试过它,它工作得很好,我可以截取相机视图的屏幕截图,但相机被拉伸了。

4

2 回答 2

5

PreviewView 现在通过调用 PreviewView.getBitmap() 支持屏幕截图。请参阅:https://developer.android.com/reference/androidx/camera/view/PreviewView#getBitmap()

于 2020-07-17T18:28:31.433 回答
1

我终于在这个链接中找到了答案

首先将首选实现模式设置为 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
}

注意:我只在少数设备上进行了测试,效果很好。

干杯。

于 2020-05-16T12:49:13.823 回答