A orientação da imagem é a direção em que uma foto fica quando você a vê: em pé, de cabeça para baixo, de lado ou espelhada. Nos metadados do arquivo, o campo Orientation indica ao software como girar a imagem armazenada para que ela apareça em pé.
Na fotografia, orientação geralmente significa retrato ou paisagem. Uma foto em retrato é mais alta do que larga, e uma foto em paisagem é mais larga do que alta. Quando você tira uma foto, a câmera ou o celular salva a forma como você o segurou como dados de orientação no arquivo.
Quais arquivos o carregam
A tag Orientation faz parte do padrão Exif, que a herda do formato TIFF. Seu ID de tag é 0x0112, ou 274 em decimal. O padrão a lista como uma tag recomendada para a imagem principal, e você a encontra nestes arquivos:
- JPG e fotos TIFF de câmeras e celulares
- Imagens HEIC, PNG e WebP, que podem conter um bloco de dados Exif
Um arquivo HEIC também pode armazenar rotação e espelhamento como propriedades separadas do seu contêiner, chamadas irot e imir. Algumas câmeras adicionam ainda uma tag privada. Alguns modelos da Canon gravam CameraOrientation, que um relatório de metadados mostra como Horizontal (normal), Rotate 90 CW ou Rotate 270 CW.
Como são os valores
Dentro do arquivo, o valor é um número de 1 a 8. Cada número indica onde a primeira linha e a primeira coluna de pixels armazenados ficam na tela. Um relatório de metadados normalmente mostra o significado em palavras, em que CW significa sentido horário:
1éHorizontal (normal): a imagem é armazenada em pé, então nada muda3éRotate 180: a imagem é armazenada de cabeça para baixo6éRotate 90 CW: o software gira a imagem 90 graus no sentido horário antes de exibi-la8éRotate 270 CW: o software gira a imagem 270 graus no sentido horário, o que equivale a 90 graus no sentido anti-horário2,4,5e7adicionam um espelhamento, por exemploMirror horizontal
O padrão marca todos os outros números como reservados. Um valor fora de 1 a 8, portanto, não tem significado definido.
Como os vídeos armazenam rotação
Arquivos de vídeo tratam a orientação de outra forma. Um arquivo MP4 ou MOV armazena uma matriz de exibição no cabeçalho da sua faixa de vídeo. Essa matriz informa ao player como girar ou espelhar os quadros antes de exibi-los.
Programas que leem metadados transformam essa matriz em um único ângulo em graus. O ExifTool conta o ângulo no sentido horário, enquanto o FFmpeg conta no sentido anti-horário em um intervalo de -180 a 180. O mesmo vídeo pode, portanto, mostrar 90 em um relatório e -90 em outro.
Por que isso é importante para o seu arquivo
O valor de Orientation não move nenhum pixel. Os pixels permanecem na ordem em que a câmera os salvou, e a tag apenas informa ao visualizador como exibi-los. Navegadores aplicam a tag por padrão, mas um programa que a ignora mostra uma foto em retrato deitada de lado.
Este também é o motivo de largura e altura poderem parecer trocadas. Image Width e Image Height descrevem os pixels armazenados antes de qualquer giro. Uma foto em retrato com Rotate 90 CW pode, portanto, registrar uma largura maior do que a altura.
A edição pode causar um segundo problema. Se um programa gira os pixels, mas mantém a tag antiga, a imagem é girada duas vezes. O padrão Exif recomenda que softwares de edição definam Orientation de volta para 1 depois de girar uma imagem.
Páginas de PDF usam um campo próprio. Page Rotation gira uma página inteira no sentido horário em passos de 90 graus quando a página é exibida ou impressa.