Pergunta

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

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

Eu posso girá-lo realtime ao exibir, e eu acho que eu poderia re-salvá-lo uma vez salvo. Meu problema é que eu gostaria de salvá-lo corretamente quando tirar a foto.

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 aumentada ao tirar fotos de tirar uma foto w / surfaceholder / ImageCapture ligue de volta. I parecem ter corrigido re-exibição dessas imagens redimensionando -los usando uma matriz bitmapfactory. Mas a minha câmera agora está girando tudo 90 graus. Parece que o meu Override de surfaceChanged não faz nada, que é onde eu estava assentado rotação a 90 (eu não posso lembre-se porquê, que era 10 meses atrás!). Eu tentei a rodar o os parâmetros da câmara paramters a 90 graus, de 0 graus. Não parece para fazer qualquer coisa ... qualquer pensamento?

Foi útil?

Solução

motoristas

Câmera não sei a orientação do dispositivo. Em 1.5 e 1.6, você precisa parâmetros SET chamada ( "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 a rotação do usuário do 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 é o lado esquerdo).
Parâmetros
rotação A orientação do dispositivo em graus. Rotação só pode ser 0, 90, 180 ou 270

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top