Como você pode dizer png8 de um PNG24
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!
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.