Предотвращение переворачивания фронтальной камеры - PullRequest
9 голосов
/ 18 марта 2012

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

Ответы [ 2 ]

11 голосов
/ 10 июля 2013

Если вы хотите использовать фронтальную камеру для сканирования штрих-кода, вы можете использовать TextureView и применить к нему матрицу преобразования.Когда текстура обновлена, вы можете прочитать данные изображения и использовать их.

См. https://github.com/hadders/camera-reverse

Специально от MainActivity.java

mCamera.setDisplayOrientation(90);
Matrix matrix = new Matrix();
matrix.setScale(-1, 1);
matrix.postTranslate(width, 0);
mTextureView.setTransform(matrix);
1 голос
/ 18 марта 2012

Данные с фронтальной камеры выглядят так, как камера их видит, глядя на вас. Левая сторона его изображения - ваша правая сторона. Я думаю, это то, что вы хотите уже? Когда его кладут на SurfaceView, он переворачивается, так что действует, как вы говорите, но это отдельная косметическая трансформация.

По крайней мере, так работает каждое устройство, которое я видел, и я очень старался реализовать поддержку фронтальной камеры в Сканере штрих-кода / Сканер штрих-кода + .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...