问题
I want to convert CameraX preview to bitmap from previewView. Something similar to textureView.bitmap
I have tried it with a textureview and it works perferctly, i can take a screenshot of the cameraview but the camera is stretched.
回答1:
PreviewView now supports screenshot by calling PreviewView.getBitmap(). See: https://developer.android.com/reference/androidx/camera/view/PreviewView#getBitmap()
回答2:
I finally found the answer in this link
First set preferred implementationmode to TextureView as below:
previewView.preferredImplementationMode = PreviewView.ImplementationMode.TEXTURE_VIEW
Then get the bitmap
fun getPreviewViewBitmap(width: Int, height: Int): Bitmap? {
val previewChildView = previewView.getChildAt(0)
if (previewChildView is TextureView)
return previewChildView.getBitmap(width, height)
return null
}
Note: I have only tested on a few devices and it works great.
Cheers.
来源:https://stackoverflow.com/questions/61719500/camerax-previewview-screenshot