CameraX 预览查看截图

CameraX PreviewView Screenshot

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

我已经用 textureview 试过了,效果很好,我可以截取 cameraview 的屏幕截图,但相机被拉长了。

我终于在这个link

中找到了答案

首先设置preferred implementationmode为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
}

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

干杯。

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