Eu tenho uma imagem neste link: http://d38daqc8ucuvuv.cloudfront.net/avatars/216/2014-02-19%2017.13.48.jpg
Como você pode ver, esta é uma imagem normal com orientação correta. No entanto, quando defino esse link como atributo src da minha tag de imagem, a imagem fica de cabeça para baixo. http://jsfiddle.net/7j5xJ/
<img src="http://d38daqc8ucuvuv.cloudfront.net/avatars/216/2014-02-19%2017.13.48.jpg" width="200"/>
Você tem alguma ideia do que está acontecendo?
cloudfront
pode estar girando na página. Você poderia forçar uma rotação via CSS jsfiddle.net/7j5xJ/1Orientation: Rotate 180
no EXIF.Respostas:
Encontrei parte da solução. As imagens agora têm metadados que especificam a orientação da foto. Há uma nova especificação de CSS para
image-orientation
.Basta adicionar isso ao seu CSS:
De acordo com as especificações de 25 de janeiro de 2016, Firefox e iOS Safari (atrás de um prefixo) são os únicos navegadores que suportam isso. Ainda estou com problemas no Safari e no Chrome. No entanto, o Safari para dispositivos móveis parece oferecer suporte nativo à orientação sem a tag CSS.
Suponho que teremos que esperar e ver se os navegadores começarão a oferecer suporte
image-orientation
.fonte
Sua imagem está realmente de cabeça para baixo. Mas tem um meta-atributo "Orientação", que informa ao espectador que deve ser girado 180 graus. Alguns dispositivos / visualizadores não obedecem a essa regra.
Abra no Chrome: do jeito certo Abra no FF: do jeito certo Abra no IE: de cabeça para baixo
Abra-o no Paint: De cabeça para baixo Abra-o no Photoshop: Caminho certo. etc.
fonte
Se você tiver acesso ao Linux, abra um terminal, cd para o diretório que contém suas imagens e execute
Isso deve corrigir permanentemente os problemas de orientação em todas as imagens.
fonte
brew install imagemagick
no mac, se você conseguircommand not found: mogrify
Esqueci de adicionar minha própria resposta aqui. Eu estava usando Ruby on Rails, por isso pode não ser aplicável aos seus projetos em PHP ou outras estruturas. No meu caso, eu estava usando a gema Carrierwave para fazer upload das imagens. Minha solução foi adicionar o seguinte código à classe do remetente para corrigir o problema EXIF antes de salvar o arquivo.
fonte
salvar como png resolveu o problema para mim.
fonte
Essa resposta se baseia na resposta da bsap usando Exif-JS , mas não depende do jQuery e é bastante compatível mesmo com navegadores mais antigos. A seguir estão exemplos de arquivos html e js:
rotate.html:
rotate.js:
fonte
Você pode usar o Exif-JS , para verificar a propriedade "Orientação" da imagem. Em seguida, aplique uma transformação css, conforme necessário.
fonte
Esse problema também estava me deixando louco. Eu estava usando PHP no meu servidor, então não pude usar as soluções @ The Lazy Log (ruby) e @deweydb (python). No entanto, ele me indicou a direção certa. Corrigi-o nas costas usando getImageOrientation () da Imagick.
Aqui está o link, se você quiser ler mais. http://php.net/manual/en/imagick.getimageorientation.php
fonte
São os dados EXIF que o seu telefone Samsung incorpora.
fonte
Até que o CSS:
image-orientation:from-image;
seja mais universalmente suportado, estamos fazendo uma solução do lado do servidor com python. Aqui está a essência disso. Você verifica os dados exif para obter orientação, depois gira a imagem de acordo e salva novamente.Preferimos esta solução em vez de soluções do lado do cliente, pois não requer o carregamento de bibliotecas extras do lado do cliente, e essa operação deve ocorrer apenas uma vez no upload do arquivo.
fonte
Isso acontece porque a orientação original da imagem não é a que vemos no visualizador de imagens. Nesses casos, a imagem é exibida verticalmente para nós no visualizador de imagens, mas na horizontal é real.
Para resolver isso, faça o seguinte:
Abra a imagem no editor de imagens como paint (no windows) ou ImageMagick (no linux).
Gire a imagem para a esquerda / direita.
Isso deve resolver o problema permanentemente.
fonte
Uma maneira fácil de corrigir o problema, sem a codificação, é usar a função Salvar para exportação na Web do Photoshop. Na caixa de diálogo, pode-se optar por remover todos ou a maioria dos dados EXIF de uma imagem. Normalmente, mantenho os direitos autorais e informações de contato. Além disso, como as imagens provenientes diretamente de uma câmera digital são muito grandes para exibição na Web, é uma boa ideia reduzi-las através de Salvar na Web de qualquer maneira. Para aqueles que não conhecem o Photoshop, não tenho dúvidas de que existem recursos on-line para redimensionar uma imagem e remover todos os dados EXIF desnecessários.
fonte
Eu acho que existem alguns problemas na orientação da imagem de correção automática do navegador, por exemplo, se eu visitar a imagem diretamente, ela mostra a orientação correta, mas mostra a orientação incorreta em algumas páginas html de saídas.
fonte
Use estilo externo. na folha html, forneça o nome da classe para a tag. na folha de estilo, use o operador de ponto precedido pelo nome da classe e, em seguida, escreva o código a seguir
fonte