Как вы можете отличить png8 от png24 - PullRequest
5 голосов
/ 14 ноября 2008

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

Мне нужно заменить их на файлы png8, так как все обходные пути jngascript в стиле 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 ]

7 голосов
/ 14 ноября 2008

Утилита file в OSX может указать глубину цвета в файле PNG, например:

% file foo.png 
foo.png: PNG image data, 1514 x 1514, 8-bit grayscale, non-interlaced
3 голосов
/ 24 февраля 2009

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

2 голосов
/ 17 декабря 2011

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

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

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

1 голос
/ 16 июля 2015

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%).
1 голос
/ 14 ноября 2008

JoeBloggs прав, вы задаете не тот вопрос.

У меня никогда не было IE6 с хорошим сценарием pngfix. У вас либо неверный скрипт pngfix, либо неправильная установка IE6.

PNG8 испортит ваши прекрасные прозрачные пленки и создаст впечатление, что вы используете GIF.

1 голос
/ 14 ноября 2008

Думаю, вы задаете не тот вопрос. PNG8s не имеет истинного альфа вы работали трудно исправить в IE6. Если вы замените PNG24 на PNG8, вам будет легче, чем заменить их на GIF.

Может быть, вы могли бы протестировать альтернативный сценарий замены / исправления - там есть несколько ужасно плохих, может быть, в этом проблема?

Вот (и я говорю этот язык по щеке!) правильный вопрос .

0 голосов
/ 14 ноября 2008

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

...