Как отличить png8 от png24?
Вопрос
Я работаю над веб-сайтом, который для прозрачности использует множество файлов png24.
Мне нужно заменить их файлами png8, так как все обходные пути javascript в стиле png для png24 приводят к случайной блокировке IE6.
См. эту ссылку, чтобы получить представление о симптомах, отображаемых IE6: http://blogs.cozi.com/tech/2008/03/transparent-pngs-can-deadlock-ie6.html
Кто-нибудь знает простой способ настроить существующие файлы png24 и заменить их на png8s?
Я использую OS X, и файловые браузеры, такие как Adobe Bridge, этого не показывают, и я не могу найти информацию в командной строке или в средстве поиска.
Помощь!
Решение
А file
Утилита в OSX может определить глубину цвета в PNG-файле, например:
% file foo.png
foo.png: PNG image data, 1514 x 1514, 8-bit grayscale, non-interlaced
Другие советы
На самом деле вы МОЖЕТЕ получить альфа-прозрачность в PNG-8, но это очень сложно.http://www.sitepoint.com/blogs/2007/09/18/png8-the-clear-winner/ http://www.personal.psu.edu/drs18/blogs/davidstong/2007/09/png8_alpha_transparency_from_f.html
По сути, он создает вещество, подобное GIF, для IE6 и настоящий PNG с альфа-прозрачностью для лучших браузеров.Это более приятный путь деградации.Сейчас я думаю, что вам нужен Fireworks, но я изучаю другие варианты.
Чтобы добавить к ответу Альнитака: как только вы найдете все PNG24, которые хотите конвертировать, вы можете объединить их все с помощью pngquant
:
pngquant -v -f --ext .png 256 *.png
При этом все файлы PNG преобразуются в PNG8, перезаписывая их.
Я думаю, что вы, возможно, задаете неправильный вопрос.PNG8 не имеют истинной альфа-версии, над исправлением которой вы так долго работали в IE6.Если вы замените PNG24 на PNG8, это будет не лучше, чем замена их на GIF.
Может быть, вы могли бы протестировать альтернативный сценарий замены/исправления - есть несколько ужасно плохих, может быть, проблема именно в этом?
Вот (и я говорю это в шутку!) правильный вопрос.
JoeBloggs прав, вы задаете неправильный вопрос.
У меня никогда не было проблем с IE6 из-за хорошего сценария pngfix.У вас либо плохой скрипт pngfix, либо плохая установка IE6.
PNG8 испортит ваши красивые прозрачные пленки и создаст впечатление, будто вы используете GIF-файлы.
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%).
Возможно имиджмагия поможет вам конвертировать файлы png24 в файлы png8.