Ir para o conteúdo
AZ Tools

Por que suas fotos giram quando você as envia

Quase nada gira uma foto quando você gira a câmera. O sensor é fixo no corpo do aparelho, então ele registra o mesmo retângulo independentemente de como você segura, e a câmera grava no arquivo uma tag de orientação dizendo para que lado o resultado deve ser virado na hora de exibir. Cada programa que mostra a imagem decide então, por conta própria, se respeita essa tag. Quando dois programas decidem de formas diferentes, um deles mostra sua foto deitada.

A câmera não vira a imagem, ela deixa um bilhete

Os metadados EXIF de um arquivo JPEG ou HEIC têm um campo chamado Orientation, com oito valores definidos. Um deles significa que o arquivo já está de pé. Três dos outros são rotações simples de 90, 180 e 270 graus, e os quatro restantes combinam uma rotação com um espelhamento.

Ou seja, uma foto na vertical tirada com o celular costuma ser uma imagem horizontal mais um bilhete dizendo gire um quarto de volta. Os pixels gravados estão realmente deitados, e todo visualizador que a mostra de pé está aplicando a tag ao desenhar.

Por que um programa obedece ao bilhete e outro o ignora

Os navegadores aplicam a tag ao exibir uma imagem comum, e hoje esse é o comportamento padrão. Mas tudo o que decodifica o arquivo até os pixels brutos enxerga a versão deitada, porque nesse ponto a tag é apenas um número deixado no cabeçalho.

É por isso que um envio pode girar a foto: o site não visualizou o seu arquivo, ele o recodificou. Redimensionou, tirou os metadados, converteu para WebP, e o que foi gravado de volta não tem bilhete nenhum. Com scripts acontece o mesmo. Uma biblioteca de imagens gira quando você pede, e não sozinha, a menos que você mande aplicar a orientação primeiro.

Girar duas vezes é uma falha que acontece de verdade

O erro oposto é igualmente comum. Uma ferramenta deixa os pixels de pé mas mantém a tag dizendo gire um quarto de volta, então o próximo visualizador que respeitar a tag gira uma imagem já correta, e você fica com a foto deitada para o outro lado.

Sempre que uma foto sai a noventa graus de onde deveria estar, a pergunta útil é qual das duas metades está errada: os pixels ou o bilhete. São informações separadas, e um arquivo pode se contradizer.

A largura e a altura no arquivo são do sensor, não da foto

Uma foto vertical de um celular de 12 megapixels se declara como 4032 por 3024, ou seja, horizontal. As dimensões do cabeçalho descrevem os pixels gravados, e é a tag de orientação que a torna vertical na tela.

Qualquer layout que reserve espaço a partir desses números, ou qualquer verificação que decida se a imagem é horizontal antes de desenhá-la, vai errar com as fotos verticais. Galerias com buracos em lugares estranhos costumam ser isso, e não um problema de CSS.

Selfies espelhadas são o mesmo mecanismo

Quatro dos oito valores de orientação incluem um espelhamento, que existe porque as câmeras frontais mostram uma prévia espelhada. Alguns aplicativos espelham os pixels antes de salvar; outros salvam a imagem do sensor e registram o espelhamento na tag.

O sintoma visível é o texto. O logotipo de uma camiseta ou um quadro branco atrás de você aparece invertido em um programa e correto em outro, o que indica que o espelhamento está na tag e não nos pixels.

A miniatura pode discordar da foto

O EXIF também pode guardar uma pequena miniatura embutida, gravada pela câmera no momento do clique. Gerenciadores de arquivos e aplicativos de fotos costumam mostrar essa miniatura porque lê-la é muito mais rápido do que abrir a imagem inteira.

Os editores nem sempre a atualizam. Um corte ou uma rotação que muda a foto mas deixa a miniatura antiga no lugar cria a situação estranha em que a prévia e o arquivo aberto mostram coisas diferentes — e, menos óbvio, uma miniatura que ainda contém parte de uma imagem que você achava ter recortado fora.

Como deixar uma foto que não possa ser mal lida

Leia a tag antes de fazer qualquer coisa, para saber se o problema é de rotação ou de espelhamento, e se o arquivo chega a pedir para ser girado. Uma foto deitada cuja tag já diz de pé foi girada de forma destrutiva por algo antes.

A correção duradoura é gravar a rotação nos pixels e então definir a tag como de pé ou remover os metadados por completo, para que nenhum programa posterior possa girá-la de novo. Faça isso antes de enviar, não depois, porque assim que o site recodifica e limpa o arquivo, o bilhete que teria dito o que fazer já se foi.

Ferramentas relacionadas