2017-02-08 9 views
1

Я готовлю обычное приложение для камеры Android и хочу настроить экспозицию/яркость камеры на сенсорном событии. Значения по умолчанию выглядят немного более темными, чем камера по умолчанию. Я пробовал использовать функцию whiteBalance (auto), но это не поможет. Пробовал это с использованием воздействия, такого какРегулировка яркости в андроидной фотокамере api, как камера по умолчанию при касании экрана камеры

params.setExposureCompensation (params.getExposureCompensation());

  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) { 
       if(params.isAutoExposureLockSupported()) { 
        params.setAutoExposureLock(false); 
       } 
      } 

, но я не понимая разницу между как функция экспонометра,

getExposureCompensation(), getMaxExposureCompensation(), getExposureCompensationStep()

ответ

1

Во-первых, вы на самом деле не настройки экспозиции.

params.setExposureCompensation(params.getExposureCompensation());

устанавливает экспозицию к предыдущему значению т.е. она никогда не изменяется. Что вам нужно сделать, это установить значение между params.getMinExposureCompensation() и params. getMaxExposureCompensation()

Во-вторых, разница между функциями экспозиции четко объяснена в docs

getExposureCompensation

Возвращает текущий индекс компенсации экспозиции. текущий показатель компенсации экспозиции. Диапазон: getMinExposureCompensation() для getMaxExposureCompensation(). 0 означает, что экспозиция не регулируется.

getMaxExposureCompensation

Получает максимальный индекс компенсации экспозиции. (> = 0)

getExposureCompensationStep

экспозиции этап компенсации. Приложения могут получить EV, умножив индекс компенсации и шаг компенсации. Пример: если индекс компенсации экспозиции равен -6, а шаг 0,333333333, EV - -2.

Здесь EV обозначает величину экспозиции

 Смежные вопросы

  • Нет связанных вопросов^_^