【问题标题】:Getting supported color effects and using them获取支持的颜色效果并使用它们
【发布时间】:2013-02-28 12:56:30
【问题描述】:

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

【问题讨论】:

    标签: android android-camera effects


    【解决方案1】:

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

    params = camera.getParameters();
    List<String> list=params.getSupportedColorEffects();
    camera.setParameters(params);
    
    params = camera.getParameters();
    params.setColorEffect(Camera.Parameters.EFFECT_NONE);
    camera.setParameters(params);
    

    【讨论】:

    • 你不明白我想做什么,我知道如何获得支持的颜色效果以及如何设置颜色效果,但例如我向用户展示了一个具有多种颜色效果的框名称例如:aqua,sepia,negative(这些是我得到的列表中的名称)并且他选择了棕褐色,现在如何轻松设置棕褐色效果,如何将单词“sepia”与“Camera.Parameters.EFFECT_SEPIA”连接起来你不能这样做:“params.setColorEffect(sepia)”
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-14
      • 1970-01-01
      • 2016-12-13
      相关资源
      最近更新 更多