Как вы можете отличить png8 от png24?

Я работаю над сайтом, который использует много файлов png24 для прозрачности.

Мне нужно заменить их на файлы png8, так как все обходные пути стиля png fix для png24 приводят к случайной блокировке 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, например:

% 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, но я изучаю другие варианты.

Чтобы добавить к ответу Alnitak, как только вы найдете все PNG24, которые вы хотите конвертировать, вы можете объединить их все с помощью pngquant:

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

Это преобразует все файлы PNG в формат PNG8, перезаписывая их.

Я думаю, что вы, возможно, задаете не тот вопрос. PNG8s не имеет истинного альфа вы работали трудно исправить в 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%).

Возможно, imagemagick поможет вам конвертировать файлы png24 в файлы png8.

Другие вопросы по тегам