开发Camare相关应用的时候, 预览图像是发现,使用前置摄像头的时候,预览出来的图像是左右相反, 并没有像照镜子一样的镜像效果.
为了解决这一问题,可是一番煞费苦心啊! 最终黄天不负有心人, 找到了解决方案.
废话不多说,直接上代码:
Parameters parameters = mCamera.getParameters();
parameters.setPreviewSize(previewWidth, previewHeight);
if (mCameraId == CameraInfo.CAMERA_FACING_FRONT) {
//设置镜像效果,支持的值为flip-mode-values=off,flip-v,flip-h,flip-vh;
parameters.set("preview-flip", "flip-h");
}
mCamera.setParameters(parameters);
重点重点重点!!! parameters.set(“preview-flip”, “flip-h”) 这一句代码就是解决镜像问题的关键代码。
在使用android相机接口进行预览时,大部分的前置摄像头的预览图都没有做镜像处理,因此需要手写处理方案。领导告诉我说,Camera的Parameters中除了提供标准的相机参数,还有一系列的key-value参数来控制相机,我们可以通过以下方式获取相机所支持的所有参数:文章来源:https://www.toymoban.com/news/detail-534427.html
//查看相机参数,因为参数很多,所有要存储到文件中查看
String param = parameters.flatten();
sharedPreference.edit().putString("CameraParameters", param).commit();
然后查看SP文件中的数据,会看到flip-mode-values=off,flip-v,flip-h,flip-vh;和preview-flip=off;这两块内容,其中flip-mode-values规定了翻转(镜像)模式的取值只能为off(关闭),flip-v(竖直翻转),flip-h(水平翻转),flip-vh(竖直+水平翻转),大家可以根据自己的需要,通过parameters.set(“preview-flip”, “flip-h”);设置相应的值实现上下左右的翻转,然后开启预览就可以看到镜像翻转的预览图了。文章来源地址https://www.toymoban.com/news/detail-534427.html
到了这里,关于一行代码解决Android相机预览镜像的问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!