Problema rotación al sacar foto

1,902 views
Skip to first unread message

Jefferson Delgado P.

unread,
Nov 16, 2013, 5:41:33 AM11/16/13
to desarrollad...@googlegroups.com
Buenos días,

Estoy teniendo un problema a la hora de sacar una foto y ponerla en un ImageView.

En un móvil (HTC Desire X, Huawei G300 o Sony Xperia J), cuando saco una foto en vertical, me la pone en vertical en el ImageView, y cuando la saco en horizontal, me la pone en horizontal.

Para estos móviles, en vertical, el alto > ancho y orientation=0, y en horizontal, el ancho>alto y orientation=0

Ahora, la misma prueba, realizada en otros dispositivos (Samsung Galaxy Tab 2 7' o Samsung Galaxy SIII), las fotos horizontales me las pone bien, pero las verticales no.

Para estos móviles, en vertical, ancho > alto y orientation=0, y en horizontal, ancho>alto y orientation=0


¿Alguno tiene idea de como solucionar el problema, que al parecer es en los dispositivos con una pantalla más bien grande, que si o si, entienda todas las fotos como landscape?

El código que tengo para controlar la orientación de la foto es el siguiente:

try {
exif = new ExifInterface(filePath);
int orientation = exif.getAttributeInt(ExifInterface.TAG_ORIENTATION, ExifInterface.ORIENTATION_NORMAL);
Log.e("ORIENTATION", " " + orientation);
Matrix matrix = new Matrix();

if (orientation == 6) {
matrix.postRotate(90);
} else if (orientation == 3) {
matrix.postRotate(180);
} else if (orientation == 8) {
matrix.postRotate(270);
}
thumbnail = Bitmap.createBitmap(thumbnail, 0, 0,thumbnail.getWidth(), thumbnail.getHeight(), matrix,true);

He buscado el modo de forzar a la cámara en modo Portrait, pero claro, eso tampoco me vale porque me ocurriría el error con las fotos horizontales. El asunto es, que haga como en los móviles, si es en horizontal, ancho>alto y si es en vertical, alto>ancho.

Muchas gracias.


Un saludo

Gabriel Pozo

unread,
Nov 16, 2013, 8:35:25 AM11/16/13
to desarrollad...@googlegroups.com
Nunca me había dado cuenta de eso :D quizás esto te ayude
http://stackoverflow.com/a/14066265/1748764
http://stackoverflow.com/a/15492779/1748764


--
Para participar es necesario que leas detenidamente las normas del grupo: http://goo.gl/20KhL
---
Has recibido este mensaje porque estás suscrito al grupo "desarrolladores-android" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a desarrolladores-a...@googlegroups.com.
Para publicar una entrada en este grupo, envía un correo electrónico a desarrollad...@googlegroups.com.
Visita este grupo en http://groups.google.com/group/desarrolladores-android.
Para ver este debate en la Web, visita https://groups.google.com/d/msgid/desarrolladores-android/83d2722b-e516-4270-93df-9d39b1774890%40googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.



--
Saludos, Gabriel

http://aprendiendodeandroidymas.com/

Jefferson Delgado P.

unread,
Nov 16, 2013, 10:02:21 AM11/16/13
to desarrollad...@googlegroups.com
Buenas nuevamente,

Muchas gracias Gabriel por los enlaces.
Lamentablemente, hacen lo mismo que hago yo, con el tema de la rotación en base a la orientation.
En mis casos, orientation siempre es = 0, por lo que no hacen nada y sigue colocando torcidas las imágenes verticales.

Creo que el problema radica, en que la foto ya está guardada torcida, antes de yo tratarla. Cuando captura foto y le doi a Save, ahí ya me la guarda torcida, por lo que al recuperarla para yo tratarla, orientation es 0 porque así la guardó y así la deja.

Muchas gracias de todos modos. Seguiré buscando alguna solución.


Un saludo!


Gabriel Pozo

unread,
Nov 16, 2013, 4:52:36 PM11/16/13
to desarrollad...@googlegroups.com

Jefferson Delgado P.

unread,
Nov 17, 2013, 5:10:53 AM11/17/13
to desarrollad...@googlegroups.com
Buenas nuevamente,

Gracias Gabriel por el enlace, aunque nuevamente obtengo los mismos resultados; saque la foto en vertical o en horizontal, desde el dispositivo que me da problemas, y me dice que la orientation es 0 (y eso que la foto también la guarda girada :S)

Seguiré indagando.

Muchas gracias nuevamente.


Un saludo


Jefferson Delgado P.

unread,
Nov 18, 2013, 11:00:14 AM11/18/13
to desarrollad...@googlegroups.com
Buenas!

Tras mucho leer y pelear, conseguí la siguiente solución propuesta por Ralf


que al parecer, difiere entre dispositivos Samsung, Sony y más abajo, LG, que son los que tienen un comportamiento distinto, a los demás.

Para cada caso, separa el tratamiento de las imágenes de dos formas y tachán! funciona perfectamente!

Muchas gracias por la ayuda.


Un saludo!

Gabriel Pozo

unread,
Nov 18, 2013, 11:13:04 AM11/18/13
to desarrollad...@googlegroups.com
Excelente, es un buen dato



Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
Reply all
Reply to author
Forward
0 new messages