У меня всегда создавалось впечатление, что предварительный просмотр и окончательный вывод никак не связаны; что я могу установить предварительный просмотр как произвольное измерение и что окончательный JPG будет каким-то конкретным разрешением, в котором я настроен, чтобы находиться в параметрах, но я просто столкнулся с очень странной ситуацией, когда данные изображения возвращаются в байт [ ], что в обратном вызове jpg отличается, в зависимости от того, какие размеры я задал для своего предварительного просмотра.Как предварительный просмотр камеры связан с выходом конечного изображения?
Может кто-нибудь просветить меня о том, какие фактические отношения имеют предварительный просмотр на финальном JPG? (или указать мне на документацию по указанным отношениям).
ТИА
[Редактировать] Согласно ответу Рави, это было мое предположение, а, тем не менее, я не вижу никакой альтернативы, кроме как предположить, что они, по сути, непосредственно связаны на основе доказательств. При необходимости отправлю код (хотя его много), но вот что я делаю.
У меня есть экран предварительного просмотра, где пользователь берет фотографию самостоятельно. Затем я показываю захваченное изображение (из данных растрового изображения обратного вызова jpg) в последующем чертежном виде и позволяю им прослеживать фигуру поверх своей фотографии. Затем я передаю точки своего полигона в класс, который вырезает эту форму из исходного изображения и возвращает изображение разреза.
Все это работает, НО в зависимости от того, как я представляю PREVIEW, класс резания многоугольника падает на индекс массива вне границ, поскольку он пытается получить доступ к пикселям на конечном изображении, которых просто не существует. Этот эффект создается ЭКСКЛЮЗИВНО, изменяя форму размеров предварительного просмотра View. Я ничего не меняю в коде, но тем не менее, просто неверно меняя свой предварительный просмотр, я могу воспроизвести эту ошибку в 100% случаев.
Я не вижу другого объяснения, кроме того, что предварительный просмотр и финал как-то напрямую связаны, так как я никогда не работаю над данными предварительного просмотра, я показываю его только в SurfaceView, а затем перейду к работе исключительно с данные из обратного вызова JPG после того, как пользователь сделал свою фотографию.
ravi, см. Мое редактирование для дополнительной информации ... –
@ Dr.Dredel Я думаю, что это имеет какое-то отношение к вашему коэффициенту масштабирования, чем предварительный просмотр. Вам сначала нужно преобразовать координаты из источника устройства в начало изображения, а затем применить правильный коэффициент масштабирования, чтобы сопоставить его с оригинальным размером изображения. – bluefalcon