Сохранение предварительного просмотра камеры на растровое изображение
-
10-10-2019 - |
Вопрос
Мне нужна небольшая помощь, чтобы заставить мою камеру работать правильно.
То, что я пытаюсь сделать, это заставить пользователя сфотографироваться, который затем будет использоваться в другом действии в качестве фона представления. Важно не иметь никакого перекоса, и в идеале изображение заполнило бы весь фон с максимально возможным разрешением.
У меня было чертовски время, пытаясь правильно ориентироваться в моей камере и быть одним и тем же аспектом дисплея. Поэтому мне потребовалось некоторое время, чтобы подумать именно о том, что мне нужно было сделать, и я не думаю, что мне вообще нужно нормальное сохраненное изображение.
Что я придумал, так это то, что мне нужен вид поверхности, чтобы отобразить предварительный просмотр, и наложение для некоторого текста и кнопки захвата. Когда пользователь «делает изображение», он должен автофокусироваться, а затем мне нужно запечатлеть предварительный просмотр (под наложениями экрана) на растровое изображение для использования в другом действии.
*Должен ли я расширить SurfaceView для своего предварительного просмотра и добавить его в макет XML, который содержит наложения?
*Как сохранить изображение SurfaceView на растровом карте?
Спасибо.
Решение 2
Очевидно, нет хорошего способа преобразовать формат изображения кадров предварительного просмотра в JPEG, поэтому я в итоге выбрал размер для камеры, чтобы пройти через каждую из поддерживаемых камеры разрешения и получить ближайшее соответствие аспекту экрана. с высшим разрешением.
Поскольку метод камеры. Сеткатация, кажется, ничего не делает, я просто поворачиваю изображение 90 с матрицей, прежде чем сохранить его на карту, если я нахожусь в портретном режиме.
Другие советы
Мэтт, один основной вопрос, и извините за мою наивность, разве не было бы проще использовать встроенную камеру для Android с помощью намерения? Это выполнимо, я делал это раньше.