2010-12-16 24 views
5

Estoy trabajando en una aplicación de Android que usa la cámara del teléfono. Cuando la imagen se toma en una "orientación estándar" (la parte inferior del teléfono en la parte inferior o inferior del teléfono a la derecha), la imagen recibida es la esperada. En algunos teléfonos, cuando la imagen se toma en una "orientación no estándar" (la parte inferior del teléfono en la parte superior o inferior del teléfono a la izquierda), la imagen recibida está boca abajo. En algunos teléfonos, la aplicación de la cámara realmente maneja esto y devuelve la imagen de la manera esperada.Orientación de cámara/imagen en Android

Mi pregunta es, ya que parece depender del teléfono (fabricante), ¿hay alguna manera de detectar esto y rotar la imagen como sea necesario sin tener que mantener una lista codificada de tipos de teléfono?

+1

¿Has mirado en las etiquetas EXIF ​​para ver si la orientación de captura real es capturado correctamente allí? Podría ser una cuestión de no interpretar correctamente esos datos cuando se muestran ... Solo un pensamiento. – SEngstrom

+1

He estado trabajando con las etiquetas EXIF. Cuando se toma la fotografía, la mayoría de las etiquetas EXIF ​​se establecen, pero la orientación uno es 'indefinido'. –

Respuesta

5

Deberá configurar la rotación en el dispositivo de la cámara para obtener la imagen rotada correctamente. Trate de usar -

public void setRotation (int rotation) 

Comprobar el código de ejemplo proporcionado here

Cuestiones relacionadas