Camera2 api切换相机正常和b&白色

时间:2016-10-20 04:29:24

标签: java android java-native-interface android-camera2

我是camera2 api的新手来开发这个模块,我用c编码的jni文件正在开发一个普通的b& w相机。当切换到b& w的任何人都是在camera2 api中完成此操作时,相机就像这样吗?

enter image description here

1 个答案:

答案 0 :(得分:2)

确定!所以你要找的是改变相机的模式

为了达到这个目的,你可以使用Camera.Parameters,你可以使用EFFECT_MONO(单色)从色彩效果中获得黑色&白色图片......

要使相机参数生效,应用程序必须调用Camera#setParameters(Camera.Parameters)。 例如,在调用Camera.Parameters#setWhiteBalance之后,在使用更改的参数对象调用Camera#setParameters(Camera.Parameters)之前,实际上不会更改白平衡。以下是供您参考的示例代码

mCameraDevPara.setColorEffect(android.hardware.Camera.Parameters.EFFECT_MONO);
mCameraDev.setParameters(mCameraDevPara);

对于camera2api,你可以通过CaptureRequest来实现,它有方法CONTROL_EFFECT_MODE要应用的特殊颜色效果。

  

设置此模式时,将对图像应用颜色效果   由相机设备产生。解释和实施   这些颜色效果留给了相机的实现者   设备,不应该依赖于一致(或存在)   跨所有设备。

更多参考GO here.

提示 不同的设备可能具有不同的相机功能,例如图片大小或闪光模式。应用程序应在设置参数之前查询相机功能。 例如,应用程序应该调用

  

Camera.Parameters#getSupportedColorEffects()

之前打电话

  

Camera.Parameters#setColorEffect(String)

。 如果相机不支持色彩效果,

  

Camera.Parameters#getSupportedColorEffects()

将返回null。