2013-02-28 39 views
1

在我的应用程序中,我想在相机上使用collor效果。我通过使用getSupportedColorEffects()函数获得了它们的列表,但是它只给出了它们的名称。有没有简单的方法来简单地使用它们?我的意思是,我得到的是例如“白炽灯”,但要使用它,我必须使用:camera_parameters.setColorEffect(Camera.Parameters.WHITE_BALANCE_INCANDESCENT),那么是否有任何方法比手动分配每个单词到每个参数?如果不同设备上的效果列表可能会有所不同? 感谢您的帮助获取支持的颜色效果并使用它们

回答

0

这取决于相机硬件。您可以尝试以下方法来查找受支持的颜色效果:

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

params = camera.getParameters(); 
params.setColorEffect(Camera.Parameters.EFFECT_NONE); 
camera.setParameters(params); 
+0

你不明白我想做什么,我知道如何获得支持的颜色效果以及如何设置collor效果,但是例如我向用户展示了一个带有多个颜色效果名称的框例如:aqua,棕褐色,负面(这些是我得到的名单中的名字),他选择棕褐色,现在如何轻松设置棕褐色效果,如何将单词“棕褐色”与“Camera.Parameters.EFFECT_SEPIA”连接起来,因为您可以'做类似的事情:“params.setColorEffect(sepia)” – Janek 2013-02-28 13:24:36

0

setter方法采用字符串参数。所以你只需使用你想要使用的效果的原始字符串。这适用于大部分参赛者。当然,你不能在那里放入任何你想要的字符串,它必须来自支持列表。

Set<String> effects = params.getSupportedColorEffects(); 
String effect = chooseEffect(effects); 
params.setColorEffect(effect); 
camera.setParameters(params);