2013-02-28 1 views
1

В моем приложении я хочу использовать эффекты цветка на камере. Я получаю список из них, используя функцию 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

Вы не понимаете, что я хочу делать, я знаю, как получить поддерживаемые цветовые эффекты и как установить эффект коллаборации, но, например, я показываю пользователю окно с несколькими именами цветовых эффектов для Например: aqua, sepia, negative (это имена из списка, которые я получил), и он выбирает сепию, и теперь, как легко установить эффект сепии, как соединить слово «сепия» с «Camera.Parameters.EFFECT_SEPIA», потому что вы можете «Сделайте что-то вроде:« params.setColorEffect (сепия) » – Janek

0

Методы setter принимают строковые аргументы. Таким образом, вы просто используете необработанную строку эффекта, который хотите использовать. Это относится к большинству сеттеров в параметрах. Конечно, вы не можете поместить какую-либо строку в нее, она должна быть из списка поддержки.

Set<String> effects = params.getSupportedColorEffects(); 
String effect = chooseEffect(effects); 
params.setColorEffect(effect); 
camera.setParameters(params); 
Смежные вопросы