Полос в сохраненном изображении с камеры на Android - PullRequest
1 голос
/ 22 марта 2011

Итак, я реализовал свою собственную версию приложения для камеры на Android. Кажется, все работает хорошо, за исключением того, что у меня есть пользователь с MyTouch 4G, и его изображения получаются полосатыми и испорченными:

Image he gets from saving

Есть идеи, что может быть причиной этого? Кто-нибудь видел это раньше?

Также: пользователи с другими устройствами получают свои снимки просто отлично.

Редактировать. Теперь я могу видеть, как это происходит на устройстве. При съемке около половины экрана мигает зеленым. Затем картина выходит, как показано выше. Я пытался сохранить байт [] разными способами. Кажется, данные, которые я получаю, действительно повреждены. Я использую обратный вызов jpeg onPictureTaken и просто сохраняю этот байт []. И опять. Я видел это ТОЛЬКО на нескольких устройствах MyTouch 4G. Я действительно в недоумении здесь. Любая помощь?

Ответы [ 2 ]

1 голос
/ 13 апреля 2011

Я видел очень похожую проблему при использовании HTC Thunderbolt. Я сохранил данные изображения byte [] из PictureCallback.onPictureTaken () прямо на SD-карту. Когда я смотрел изображение на SD-карте, оно показывало тот же эффект полосатости.

Затем я понял, что настраиваю PreviewSize в параметрах камеры. Я использовал этот код:

// Ensure that the camera resolution is a multiple of 8, as the screen may not be.
// TODO: A better solution would be to request the supported preview resolutions
// and pick the best match, but this parameter is not standardized in Cupcake.
Point cameraResolution = new Point();
cameraResolution.x = ( screenResolution.x >> 3 ) << 3;
cameraResolution.y = ( screenResolution.y >> 3 ) << 3;
parameters.setPreviewSize( cameraResolution.x, cameraResolution.y );

Когда я удалил этот код и вообще не установил размер предварительного просмотра, мои изображения больше не были добавлены.

1 голос
/ 22 марта 2011

Я говорю, что вы копируете данные, и вам может не хватать несколько пикселей в конце каждой строки.может у вас неправильная ширина в ваших кальках?

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