2013-06-26 7 views
3

Android 휴대 전화를 사용하여 스팟 미터링을 구현하려고합니다. parameters.set ("자동 노출", "스포트 측광");Android 카메라 앱 : 스팟 측광

그러나 미터링이 어떻게 작동하는지 혼란 스럽습니다. 올바르게 이해하면 스팟 측광은 노출 값을 설정하는 데 사용되는 영역을 선택하여 작동합니다.

그러나 Camera.Parameters 클래스를 평평하게하고 결과를 표시 할 때 자동 노출 설정이 적용될 때 측정 영역은 (0, 0, 0, 0, 0) [너비, 높이 및 두께가 0임을 의미합니다.] 정확히 "스포트 미터링"이었습니다. 그러나 API에서 "getMeteringAreas()"설명서는 측광 영역의 너비와 높이가 0이 될 수 없다고 말합니다.

그래서 계량 영역이 크기 0 인 동안 "스포트 측광"을 어떻게 사용할 수 있습니까? 계량 영역을 오른쪽 상단으로 설정하려고 시도했지만 노출에 영향을주지 않았습니다.

이것은 자동 노출 = 스팟 미터링이 계량 영역과 아무 관련이 없다고 믿습니다. 이상합니다.

그런 경우가 아니라면 누군가 내가 뭘 잘못하고 있는지 이해할 수 있도록 도와 줄 수 있습니까? 자세한 정보가 필요하면 코드를 포함시켜 드리겠습니다.

그런 경우 (계량 영역이 스팟 계량과 아무런 관련이 없음) 누군가가 자동 노출 계가있는 곳을 선택하는 방법을 알아낼 수 있습니까? 나는 그것이 센터에 과태이라고 생각한다.

감사합니다.

답변

1

계량은 장치에 따라 다릅니다.

API 레벨 14 이전에는 측정을 관리하기위한 표준 API가 없었기 때문에 일부 브랜드는 표준을 통하지 않고 자신의 방식으로 관리했습니다 (귀하의 경우 : 자동 노출 키워드). 아피스. 이것은 유효한 영역을 얻을 수없는 이유입니다. 측광 영역 (0, 0, 0, 0, 0) 귀하의 parameters.flatten()에서 측광 영역이 지원되지 않음을 의미합니다 (무게 = 0), 난 getMaxNumMeteringAreas()가 반환 추측 0 :

앱은 getMaxNumMeteringAreas()를 호출하여 미터링 영역의 최대 개수를 먼저 알아야합니다. 값이 0이면 측광 영역이 지원되지 않습니다.

지금까지 계량 영역을 지원하는 장치는 거의 없습니다 (내 경험 3/20).

2

MeteringAreas 매개 변수는 자동 초점 측광을위한 것입니다.

노출 측정 모드 용 Android API는 없습니다. 이를 설정하려면 문서화되지 않은 매개 변수 이름과 값을 찾아야합니다 (예 : native_getParameters을 통해 모든 매개 변수를 덤프).

예를 들어 삼성 Galaxy Note 3 매개 변수 이름이 metering이고 허용 값은 center, matrixspot입니다. 그래서 set("metering", "spot");으로 전화하면 마술처럼 작동합니다.