Есть ли более надежный способ определить, является ли фронтальная камера зеркально на устройстве Android?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Есть ли более надежный способ определить, является ли фронтальная камера зеркально на устройстве Android?

Сообщение Anonymous »

Я работаю с фронтальной камерой в приложении Flutter, и я заметил, что на некоторых устройствах Android предварительный просмотр выглядит зеркальным, в то время как на других он выглядит правильно. Мне нужен надежный способ определить, является ли фронтальная камера зеркально. Этот метод ненадежен. < /li>
< /ol>
bool isFrontCameraMirrored() {
if (_cameraController?.description.lensDirection == CameraLensDirection.front) {
int sensorOrientation = _cameraController?.description.sensorOrientation ?? 0;

// Devices with sensor orientation 90 or 270 are likely to mirror the front camera.
return sensorOrientation == 90 || sensorOrientation == 270;
}
return false;
}
< /code>
Проблема: это не работает, потому что у меня есть два разных устройства с сенсорориентацией < /code> 270 < /code> - один зеркально, а другой нет. Зеркалирование. < /li>
< /ol>
bool checkHorizontalMirroring(img.Image image) {
int width = image.width;
int height = image.height;

var leftPixel = image.getPixel(10, height ~/ 2);
var rightPixel = image.getPixel(width - 10, height ~/ 2);

return leftPixel != rightPixel;
}
< /code>
Проблема: Этот метод всегда возвращает истинность, даже когда изображение не зеркально._isMirroredHorizontally
? Positioned.fill(
child: Transform.flip(
flipX: true,
child: CameraPreview(_cameraController!),
),
)
: Transform.scale(
scale: 1 / tempScale,
child: Center(
child: CameraPreview(_cameraController!),
),
),


Подробнее здесь: https://stackoverflow.com/questions/794 ... rroring-on
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»