3 de enero de 2016

EXIF Orientation

EXIF es Exchangable image file format, es una especificación para imágenes que incluye información extra de la imagen como al fecha y hora a la que fue hecha, localización, orientación, etc…

El tema que nos ocupa hoy es la orientación, este tag indica la orientación de la cámara relativa a la escena capturada. Esta información la obtienen algunas cámaras mediante sensores de orientación.

En la siguiente tabla vemos el resumen de los valores de orientación y lo que hay que hacer para que la imagen quede bien, información extraída de la especificación.

Value 0th Row 0th Column Solución
1 top left side Nada, ya está OK
2 top right side Flip horizontal
3 bottom right side Rotar 180º
4 bottom left side Flip vertical
5 left side top Trasponer
6 right side top Rotar 90º
7 right side bottom Transverse
8 left side bottom Rotar 270º

Con esta información ahorramos al usuario la molestia de tener que rotar las imágenes manualmente, eso pensaron los diferentes desarrolladores de sistemas operativos y editores de imágenes, de forma que a día de hoy las fotos hechas rotadas que incorporan esta información se rotan automáticamente sin la intervención del usuario por parte de estos programas.

De forma que el usuario que quiera subir su fotografía a una web que no tenga en cuenta este parámetro de EXIF se verá sorprendido al comprobar que la imagen aparece mal rotada, es necesario por tanto una implementación en ese sentido.

A continuación una implementación a modo de ejemplo de rotación y flip.

Para leer los metadatos EXIF usaremos la librería Exif.js. Para ver una implementación de prueba, proporciono este enlace, se puede ver la foto sin aplicar la transformación que nos recomienda EXIF y haciéndola. El código fuente está en la misma página.

No hay comentarios:

Publicar un comentario