Graphics 您如何区分png8和png24

Graphics 您如何区分png8和png24,graphics,png,photoshop,png-24,png-8,Graphics,Png,Photoshop,Png 24,Png 8,为了提高透明度,我正在一个使用大量png24文件的网站上工作 我需要用png8文件替换它们,因为png24的所有png修复样式javascript解决方案都会导致IE6随机锁定 查看此链接了解IE6显示的症状- 有人知道一种简单的方法来定位现有的png24文件,用PNG8替换它们吗 我使用的是OSX,像AdobeBridge这样的文件浏览器不会显示这一点,我也无法在命令行或finder上找到信息 救命啊 也许可以帮助您将png24文件转换为png8文件。OSX上的文件实用程序可以告诉您PNG文件

为了提高透明度,我正在一个使用大量png24文件的网站上工作

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

查看此链接了解IE6显示的症状-

有人知道一种简单的方法来定位现有的png24文件,用PNG8替换它们吗

我使用的是OSX,像AdobeBridge这样的文件浏览器不会显示这一点,我也无法在命令行或finder上找到信息


救命啊

也许可以帮助您将png24文件转换为png8文件。

OSX上的
文件
实用程序可以告诉您PNG文件中的颜色深度,例如:

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

我想你可能问错问题了。PNG8没有你一直努力在IE6中修复的真正alpha。如果您将PNG24更换为PNG8,您的境况并不比将其更换为GIF好多少

也许你可以测试一个替代的替换/修复脚本——有一些非常糟糕的脚本,也许这就是问题所在


这是(我开玩笑地说!)。

乔布洛格斯是对的,你问错了问题

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


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

你实际上可以在PNG-8中获得alpha透明,但它非常复杂。


它基本上为IE6创建了类似GIF的实体,为更好的浏览器创建了一个真正的带有alpha透明度的PNG。这是一条更愉快的堕落之路。现在,我认为您需要焰火,但我正在探索其他选项。

要补充Alnitak的答案,一旦您找到所有要转换的PNG24,您可以使用
pngquant
对它们进行批处理:

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

这会将所有PNG文件就地转换为PNG8,并覆盖它们。

pngcheck,一个命令行工具,可以转储您需要的信息


PNG-8实际上支持在上颚的每种颜色上存储一个alpha值,因此,有了正确的程序和优化,它们看起来会很棒。请参阅其他答案之一。PNG8与GIF不同,因为PNG8可以存储半透明像素,而GIF无法存储。Photoshop不具备此功能(在尝试为Web保存时),但使用Fireworks导出为PNG8时非常清楚。请注意,这会将32位RGBA PNG转换为8位或更小的RGBA调色板PNG。您可以通过运行
pngcheck*.png
来检查调色板。如果出于某种原因您确实需要8位调色板,请参阅。@MathiasBynens AFAIK ImageMagick也会进行颜色计数,因此(除了较低的质量外)当图像最终只需要4或2位时,它与pngquant没有任何区别。我在发布以前的评论之前已经测试过这一点。使用
convert
从32位RGB+alpha转换为8位调色板,而
pngquant
将其优化为4位调色板。(在99%的情况下,这是可取的,但是我有一个奇怪的用例,我需要一个8位的调色板。)
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%).