você está aqui: Home  → Arquivo de Mensagens

Incompatibilidade de JPEG no IE 7 e 8

Colaboração: Rogerio Acquadro

Data de Publicação: 19 de maio de 2011

Tivemos recentemente um problema incomum de quebra de layout entre navegadores. Desta vez, nada estava associado a má interpretação de instruções CSS ou HTML, mas a visualização de imagens.

O site em questão era visualizado corretamente pelos navegadores Firefox e Chrome mas as versões 7 e 8 do Internet Explorer não conseguiam exibir todas as imagens (exibindo em seu lugar o tão temido box com a cruz vermelha). Já o Internet Explorer 9 não apresentava nenhuma dificuldade de leitura.

Como não se tratava de quebra de layout, o problema tornava-se ainda mais curioso. Após inúmeras pesquisas pela Internet, descobrimos que essas versões do navegador não conseguem interpretar arquivos JPEG gerados com o padrão de cor CMYK, apenas RGB.

Uma vez identificado o problema a solução era bem simples. Converter todos os arquivos de CMYK para RGB. Graças à biblioteca ImageMagick do Linux, é possível escrever um loop capaz de converter um lote imenso de imagens de um formato para o outro:

  for i in *.jpg; do convert "$i" -colorspace RGB -verbose "$i"; done

O comando acima fará a conversão para RGB de todos os arquivos .jpg que estiverem na pasta corrente. Você pode incrementar o comando acima para trabalhar em conjunto com o comando find, de modo a fazer a conversão recursivamente em todos os diretórios abaixo do corrente.

Em alguns casos, é necessário executar o comando novamente para buscar arquivos com extensão .jpeg.

Para saber mais sobre os padrões de cores, leia

Rogerio Acquadro trabalha com software livre desde 1996 e é sócio da (PC)² Consultoria (http://www.pc2consultoria.com)


Veja a relação completa dos artigos de Rogerio Acquadro

 

 

Opinião dos Leitores

Bitetti
27 Mai 2011, 15:46
Pior que acredito que o povo ande fazendo coisas assim. Principalmente pq andam saindo muitos designers de impressos das faculdades que pensam q só existe CMYK.

Eu considero um erro essa falta de atenção, pois toda imagem de monitor deve ser em RGB.
Thiago Cesar Vieira
23 Mai 2011, 15:03
Parabéns pela dica Rogério.

Parabéns também pelo português. Diferentemente do que costumamos ver por aí, seu texto está impecável.

Abraço!
André M.
21 Mai 2011, 18:53
Já passei por esta situação antes. Uma outra coisa que também ocorre, é quando o nome do arquivo de imagem tem muitos caracteres. O Internet Explorer também não os exibe tal como o Firefox ou Chrome.
Taf
20 Mai 2011, 13:13
Problemas cabeludos para encontrar a solução igual a esses me perseguem.

Parabéns!
Adriano
19 Mai 2011, 21:28
Vc bem disse que daria para incrementar, eis uma contribuição de um find que poderia resolver a questao do .jpg e .jpeg.

<code>
DIR="caminho_do_diretorio";
for i in $(find $DIR -regextype posix-egrep -iregex '.*\.(jpg|jpeg)'); do
convert "$i" -colorspace RGB -verbose "$i";
done
</code>

Um abraço, ótima dica!
:-)
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script