Android Camera 有 Camera.Parameters 属性,那我们怎么才能找到一个 合适的尺寸 去预览才不会变形呢?
1、首先我们要 通过api 去获取 当前相机 所支持的 预览 比例
Camera.Parameters parameters =camera.getParameters()
//获取当前相机支持的 尺寸
List<Camera.Size> vSizes = parameters.getSupportedPreviewSizes();
//获取和屏幕比列相近的 一个尺寸
Camera.Size previewSize = getSuitableSize(vSizes);
//重新定义 宽和高 (宽始终小于高)
int previewWidth = Math.min(previewSize.width, previewSize.height);
int previewHeight = Math.max(previewSize.width, previewSize.height);
//获取 最终 我们需要预览的大小比列
mPreviewScale = previewWidth * 1f / previewHeight;
//算出 最终 宽高
if (mPreviewWidth > previewWidth) {
mPreviewHeight = (int) (mPreviewWidth / mPreviewScale);
} else if (mPreviewWidth < previewWidth) {
mPreviewHeight = (int) (mPreviewHeight * mPreviewScale);
}