1

在我的应用程序中,我想在相机上使用色彩效果。我通过使用getSupportedColorEffects()函数获得了它们的列表,但是它只给了我它们的名称。有什么简单的方法可以简单地使用它们吗?我的意思是,我得到的是例如“白炽灯”,但要使用它我必须使用:camera_parameters.setColorEffect(Camera.Parameters.WHITE_BALANCE_INCANDESCENT),那么除了手动将每个单词分配给每个参数之外,还有其他方法吗?如果不同设备上的效果列表可能不同怎么办?感谢帮助

4

2 回答 2

0

这取决于相机硬件。你可以试试这个来找到支持的颜色效果:

params = camera.getParameters();
List<String> list=params.getSupportedColorEffects();
camera.setParameters(params);

params = camera.getParameters();
params.setColorEffect(Camera.Parameters.EFFECT_NONE);
camera.setParameters(params);
于 2013-02-28T13:03:15.483 回答
0

setter 方法采用字符串参数。因此,您只需使用要使用的效果的原始字符串。这适用于参数中的大多数设置器。当然你不能在里面放任何你想要的字符串,它必须来自支持列表。

Set<String> effects = params.getSupportedColorEffects();
String effect = chooseEffect(effects);
params.setColorEffect(effect);
camera.setParameters(params);
于 2015-06-17T18:42:23.480 回答