2008-11-14 146 views
5

我正在使用大量的png24文件的网站,为透明度。你怎么能告诉png8从png24

我需要用png8文件替换它们,因为png24的所有png修复样式javascript解决方法都会导致IE6随机锁定。

看到这个链接以获得症状IE6显示的想法 - http://blogs.cozi.com/tech/2008/03/transparent-pngs-can-deadlock-ie6.html

有谁知道针对现有PNG24文件,与png8s,以取代他们的一种简单的方法?

我使用的是OS X,像Adobe Bridge这样的文件浏览器没有显示这一点,我也不能在命令行或查找器中找到信息。

帮助!

回答

7

file实用程序OSX可以告诉你,在一个PNG文件的颜色深度,e.g:

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

我想你可能会问错了问题。 PNG8s没有你在IE6中努力修复的真正的alpha。如果您用PNG8替换PNG24,您比使用GIF替换PNG24更好。

也许你可以测试一个替代替换/修复脚本 - 有一些令人震惊的坏的那里,也许这就是问题所在?

这里是(我在脸颊上说这个舌头!)the right question

+2

PNG-8实际上支持在每个颜色上存储一个alpha值,因此,通过正确的程序和优化,它们看起来很棒。看到其他答案之一。 – 2010-06-12 07:46:40

+3

PNG8与GIF不同,因为PNG8可以存储半透明像素,其中GIF不能。 Photoshop不具备此功能(尝试保存为Web时),但使用Fireworks导出为PNG8时非常明显。 – RussellUresti 2011-10-24 16:28:58

1

JoeBloggs是对的,你问的是错误的问题。

我从来没有一个很好的pngfix脚本的IE6中断。你要么有一个坏的pngfix脚本,要么是坏的IE6安装。

PNG8将破坏你的漂亮的透明胶片,并使它看起来像你使用的GIF。

2

要添加到参宿一的答案,一旦你发现所有PNG24要转换,你可以批量他们都与pngquant

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

这所有的PNG文件转换成PNG8到位,覆盖它们。

1

pngcheck是一个命令行工具,可以转储您需要的信息。 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%). 
相关问题