Android rotação 1,6 Camera?

votos
3

Eu postei isso no fórum Android Dev, mas queria chegar aqui.

Uma das atividades em nosso aplicativo foi tirar uma foto. A pré-visualização imagem mostra a maneira correta na tela em 1.5 e 1.6, mas quando ele é salvo, ele salva o jpg 90 rodado.

I pode girá-lo realtime ao exibir, e eu acho que eu poderia voltar a guardá-lo uma vez salvo. Meu problema é que eu gostaria de salvá-lo corretamente quando tirar a fotografia.

Meu aplicativo enquanto compilado em 1,5 funciona bem. Eu tive alguns problemas de memória w / 1.6 devido ao tamanho da imagem, o que era estranho b / c o tamanho da imagem aumentou ao tirar fotos de tirar uma foto w / surfaceholder / callback ImageCapture. I parecem ter re-exibição fixa essas imagens redimensionando-los usando uma matriz bitmapfactory. Mas a minha câmera agora está girando tudo em 90 graus. Parece que o meu Override de surfaceChanged não faz nada, que é onde eu estava assentado rotação a 90 (não me lembro por que, que era 10 meses atrás!). Eu tentei a rotação dos paramters parâmetros da câmara a 90 graus, 0 graus. Não parece fazer qualquer coisa ... qualquer pensamento?

Publicado 22/10/2009 em 15:06
fonte usuário
Em outras línguas...                            


1 respostas

votos
6

drivers da câmera não sei a orientação do dispositivo. Em 1.5 e 1.6, você precisa chamar parâmetros SET ( "rotação", grau) para informar os motoristas sobre a rotação antes de chamar takePicture (). Na versão 2.0, há uma nova setRotation API (veja abaixo). Note-se que alguns dispositivos rodar as imagens inteiras para você e alguns apenas definir a orientação em EXIF ​​cabeçalho.

http://developer.android.com/reference/android/hardware/Camera.Parameters.html#setRotation(int)

Define a orientação do dispositivo em graus. Por exemplo, suponha que a posição natural do dispositivo é paisagem. Se o usuário tira uma foto no modo paisagem em 2048x1536 de resolução, a rotação deve ser definido como 0. Se o usuário gira o telefone 90 graus no sentido horário, a rotação deve ser definido para 90. Os aplicativos podem usar OrientationEventListener definir esse parâmetro. O controlador da câmara pode definir a orientação do cabeçalho EXIF sem rodar a imagem. Ou o controlador pode girar a imagem e a miniatura EXIF. Se a imagem JPEG é rodado, a orientação no cabeçalho EXIF estará ausente ou 1 (linha # 0 é parte superior e coluna # 0 está do lado esquerdo).
Parâmetros de
rotação A orientação do dispositivo, em graus. Rotação só pode ser de 0, 90, 180 ou 270

Respondeu 30/11/2009 em 05:07
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more