Camera2预览方向、拍照方向设置
一、预览变形问题如何处理?
最简单方法:自定义TextureView
二、涉及到的相关api && 第三方app如何去进行适配?
1) Camera API1
我们可以通过setDisplayOrientation(int degress)来设置camera预览的方向。
mCamera.setDisplayOrientation(Surface.ROTATION_180);
拍照方向,则是和setRotation有关。
mParameters.setRotation(rotation);
2) Camera API2
//设置拍照方向
captureBuilder.set(CaptureRequest.JPEG_ORIENTATION,rotation);
Camera2上,是没有接口直接设置预览方向的,所以,基本都是通过TextureView.setTransform(matrix) 或者setRotation接口来调整textureView的显示。
Matrix matrix = new Matrix(); matrix.postRotate(180, mTextureView.getWidth()/2, mTextureView.getHeight()/2); mTextureView.setTransform(matrix); mTextureView.setRotation(180);