Android 获取支持的颜色效果并使用它们

Android 获取支持的颜色效果并使用它们,android,android-camera,effects,Android,Android Camera,Effects,在我的应用程序中,我想在相机上使用collor效果。我使用getSupportedColorEffects()函数得到了它们的列表,但它只给出了它们的名称。有没有简单的方法来使用它们?我的意思是,我得到的是例如“白炽灯”,但要使用它,我必须使用:camera\u parameters.setColorEffect(camera.parameters.WHITE\u BALANCE\u incandeal),那么除了手动将每个单词分配给每个参数之外,还有其他方法吗?如果效果列表在不同的设备上可能不

在我的应用程序中,我想在相机上使用collor效果。我使用
getSupportedColorEffects()
函数得到了它们的列表,但它只给出了它们的名称。有没有简单的方法来使用它们?我的意思是,我得到的是例如“白炽灯”,但要使用它,我必须使用:
camera\u parameters.setColorEffect(camera.parameters.WHITE\u BALANCE\u incandeal)
,那么除了手动将每个单词分配给每个参数之外,还有其他方法吗?如果效果列表在不同的设备上可能不同呢?
感谢您的帮助

这取决于摄像头硬件。您可以尝试以下方法查找支持的颜色效果:

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

params = camera.getParameters();
params.setColorEffect(Camera.Parameters.EFFECT_NONE);
camera.setParameters(params);
params=camera.getParameters();
List List=params.getSupportedColorEffects();
摄像机。设置参数(参数);
params=camera.getParameters();
params.setColorEffect(Camera.Parameters.EFFECT_无);
摄像机。设置参数(参数);

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

Set<String> effects = params.getSupportedColorEffects();
String effect = chooseEffect(effects);
params.setColorEffect(effect);
camera.setParameters(params);
Set effects=params.getSupportedColorEffects();
字符串效果=选择效果(效果);
参数setColorEffect(效果);
摄像机。设置参数(参数);

您不明白我想做什么,我知道如何获得支持的颜色效果以及如何设置collor效果,但例如,我向用户展示了一个具有多个颜色效果名称的框,例如:aqua、sepia、negative(这些是我从列表中获得的名称),他选择了sepia,现在如何轻松设置sepia效果,如何将单词“sepia”与“Camera.Parameters.EFFECT\u sepia”连接起来?因为您不能执行类似于“params.setColorEffect(sepia)”的操作