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