Pergunta

Eu estou trabalhando em um site que usa lotes de arquivos PNG24, para a transparência.

Eu preciso substituí-los por arquivos PNG8, como todos os png fix soluções estilo o JavaScript para PNG24 causa IE6 para bloquear-se aleatoriamente.

Veja este link para ter uma idéia dos sintomas IE6 exibe - http://blogs.cozi.com/tech/2008/03/transparent-pngs-can-deadlock-ie6.html

Alguém sabe uma maneira fácil de alvejar as limas PNG24 existentes, substituí-los com as png8s?

Eu estou usando um OS X, e navegadores de arquivos, como o Adobe Bridge não mostram isso, nem posso encontrar a informação na linha de comando, ou no Finder.

Ajuda!

Foi útil?

Solução

O utilitário file no OSX pode dizer a profundidade de cor em um arquivo PNG, por exemplo:

% file foo.png 
foo.png: PNG image data, 1514 x 1514, 8-bit grayscale, non-interlaced

Outras dicas

Você pode realmente obter alfa transparência no PNG-8, mas é super complicado. http://www.sitepoint.com/blogs / 2007/09/18 / png8-the-claro-vencedor / http://www.personal.psu.edu/ drs18 / blogs / davidstong / 2007/09 / png8_alpha_transparency_from_f.html

Ele basicamente cria GIF como a substância para o IE6 e uma PNG real com transparência alfa para melhores navegadores. É uma mais agradável caminho degradação. Agora, eu acho que você precisa de artifício, mas eu estou explorando outras opções.

Para adicionar a resposta de Alnitak, uma vez que você encontrar todas PNG24 você deseja converter, você pode batch todos eles com pngquant:

pngquant -v -f --ext .png 256 *.png

Isso converte todos os arquivos PNG para PNG8 no lugar, substituindo-los.

Eu acho que você pode estar fazendo a pergunta errada. PNG8s não tem o true-alfa que você tem trabalhado duro para correção no IE6. Se você substituir os PNG24s com PNG8s você não é melhor do que substituí-los por GIFs.

Talvez você possa testar um script alternativa de substituição / fix -? Há algumas chocantemente ruins lá fora, talvez isso é onde o problema é

Aqui está (e digo isto em tom de gozação!) a pergunta certa .

joebloggs está certo, você está fazendo a pergunta errada.

Eu nunca tive pausa IE6 com um script bom pngfix. Você quer tem um script pngfix ruim, ou instalar uma má IE6.

PNG8 vai arruinar suas agradáveis ??transparências e fazer parecer que você está usando GIFs.

pngcheck, uma ferramenta de linha de comando, pode despejar as informações que você precisa. http://www.libpng.org/pub/png/apps/pngcheck.html

pngcheck.exe a.png
OK: a.png (1024x1024, 32-bit RGB+alpha, non-interlaced, 80.7%).

pngcheck.exe b.png
OK: b.png (1024x1024, 8-bit palette+trns, non-interlaced, 83.1%).

imagemagick ajuda-lo a converter arquivos PNG24 a arquivos PNG8.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top