Как узнать угол раскрытия камеры андроида - PullRequest
2 голосов
/ 02 ноября 2011

Можно ли узнать угол раскрытия устройств камеры во время работы. Я пытался использовать функцию getParameters().getHorizontalViewAngle(), но она вернулась на 360.0 градусов. Реалистичным значением будет 45 градусов или что-то вроде этого.

У кого-нибудь есть опыт с этим? Thx

1 Ответ

4 голосов
/ 03 ноября 2011

Что я могу вам сказать, так это то, что вы не можете доверять getHor horizontalViewingAngle (). Теоретически, эта функция должна получить правильное значение, но многие телефоны (по моему опыту) имеют просто случайное значение там. Это может быть 360, как в вашем случае, 10 (другой телефон, о котором я слышал), или иметь те же вертикальные и горизонтальные углы обзора, что не может быть правильным. Единственный надежный способ сделать это - измерить или определить по оптике для каждого телефона, который вы хотите поддерживать.

Отметьте комментарий @ mat-ball, чтобы узнать, как его измерить, и посмотрите в этом посте об iPhone, как его рассчитать (предположим, у вас есть сведения о размере чипа и всех остальных)

http://falklumo.blogspot.com/2010/06/apple-iphone-4-camera-specs.html

Причиной этого является то, что функция в Android API должна иметь ненулевое значение, и чтобы телефон был распознан как android-phone, он должен пройти некоторые автоматические тесты. И производители просто вводят значение, чтобы убедиться, что их реализация API проверена. http://developer.android.com/reference/android/hardware/Camera.Parameters.html#getHorizontalViewAngle()

Извините, что разочаровал вас, но это правда:)

EDIT

Если вы хотите использовать это при увеличении или уменьшении, чтобы извлечь динамический угол обзора, не используйте getHVA (), даже когда он получает допустимое значение, потому что не изменяется с увеличением , как можно было бы предположить.

...