2008-11-14 65 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%). 
相關問題