Программное обеспечение для создания прозрачных изображений PNG 8bit? - PullRequest
7 голосов
/ 02 октября 2008

Я ищу программное обеспечение для создания прозрачных изображений в формате PNG8 согласно этой статье .

ПРИМЕЧАНИЕ: Мне нужно решение Linux, но, пожалуйста, отправьте ответы для других ОС.

Ответы [ 8 ]

6 голосов
/ 02 октября 2008

pngquant хорошо выполняет преобразование в PNG8, сохраняя полную прозрачность.

Если вы заботитесь о размере, вас также может заинтересовать pngcrush , который обычно (без потерь) сжимает PNG совсем немного.

4 голосов
/ 17 июля 2009

Мне также понадобилось решение для Linux, и я нашел pngnq , чтобы сделать довольно хорошую работу. Похоже, он разработан специально для создания 8-битных png с альфа-каналами.

apt-get install pngnq # если в Ubuntu / Debian

1 голос
/ 06 ноября 2011

Для Mac: ImageOptim и ImageAlpha - это графические интерфейсы, которые запускают pngcrush, pngquant и различные другие обычные утилиты сжатия командной строки. http://pngmini.com/

1 голос
/ 05 декабря 2008

Это зависит от того, как именно выглядят ваши оригинальные изображения.

Если ваши изображения уже содержат 256 или менее цветов (значения RGBA), вам нужно только взглянуть на pngout (Windows) (порты Linux / BSD / Mac OS X) ) , который вы уже должны использовать для оптимизации ваших PNG. Он не может квантовать изображения, но может сохранить их как 8-битные, включая альфа-прозрачность. Просто передайте цветную опцию /c3 (или -c3 в Linux и др.), Чтобы сохранить изображение в формате PNG8.

Если ваши изображения содержат более 256 цветов, у вас есть еще несколько, но все не идеальных вариантов:

  • Adobe Fireworks , вероятно, является наилучшим вариантом с точки зрения качества получаемого изображения. Это сработает, если вам нужно только преобразовать несколько изображений или если вы не возражаете, полагаясь на Fireworks для выполнения пакетной обработки. Я обнаружил, что это иногда как-то ограничивает количество цветов в палитре, создавая изображение худшего качества, чем необходимо. Я не знаю, возможно ли это ошибка в CS3, которая была исправлена ​​в CS4.

    Если вы не используете Windows или OS X, это явно не вариант, и покупать Fireworks только для этого, вероятно, тоже не стоит.

  • Единственные известные мне альтернативы - это уже упомянутые pngquant и pngnq . Мне повезло больше с pngnq, но это, вероятно, будет зависеть от того, какая стратегия квантования лучше всего работает с файлами, с которыми вы работаете.

    К сожалению, я заметил, что ни один из них не работает очень хорошо с небольшим количеством прозрачности (скажем, непрозрачное изображение с прозрачными закругленными углами).

1 голос
/ 23 октября 2008

Ах, если я правильно помню, когда я прочитал эту статью несколько месяцев назад, у pngquant не было версии для Windows. Я вижу, что теперь есть. Так что я попробовал, и pngnq тоже.
Последнее, похоже, лучше работает с тестовым изображением IceAlpha.png (из libpng.org), за счет немного большего размера изображения (в любом случае его можно постобработать с помощью pngcrush или pngout). Алгоритмы дизеринга (два из pngquant, единственный из pngnq) разные, возможно, стоило бы использовать оба инструмента, конвертировать изображения со всеми алгоритмами и посмотреть, что выглядит лучше.

Для записи, на стороне Windows, IrfanView (4.10) очень хорошо отображает эти изображения (используя уровень прозрачности для каждой записи палитры), в то время как XnView (1.85.1) и Gimp (2.4) применяют только полную прозрачность / непрозрачность display, а-ля Gif: лампочка, приведенная в качестве примера в связанной статье, имеет прозрачный фон вокруг нее, но оранжевая часть полностью непрозрачна.

И отличная утилита TweakPNG показывает, что у нас есть блок PLTE (палитра, 222 записи) и блок tRNS (альфа-значения для цветов палитры, 222 записи). Более того, он позволяет редактировать каждую запись палитры, цвет и альфа-уровень. Может быть интересным дополнительным инструментом для этого формата.

Примечание по поддержке IrfanView: если он корректно обрабатывает PNG8 для прозрачности, он не обрабатывает гамма-информацию в файлах PNG: на изображении тукана или изображения пинг-понга мне пришлось применить гамму 2,4 для получения аналога ( светлее) цвета.
Также обратите внимание, что IrfanView делает ужасную работу по преобразованию 32-битного изображения PNG в 256, позволяя использовать только один прозрачный цвет, что выглядит плохо, если полный цвет был размытым!

Я вижу, что руководство GIMP гласит: " его формат" PNG8 ", как и GIF, использует только один бит для прозрачности; возможны только два уровня прозрачности: прозрачный или непрозрачный. » в то время как стандарт ISO / W3C гласит: « Блок tRNS указывает либо альфа-значения, связанные с записями палитры (для изображений с индексированным цветом), либо один прозрачный цвет (для изображений в оттенках серого и истинного цвета). ». Спецификация PNG 1.2 добавлено: « Хотя простая прозрачность не так элегантна, как полный альфа-канал, она требует меньше места для хранения и достаточна для многих распространенных случаев. »
Похоже, уникальный прозрачный цвет более реализован, чем полная палитра прозрачности. По крайней мере, браузеры понимают это правильно.

1 голос
/ 02 октября 2008

Ссылка, которую вы предоставили, ссылается на Image Magick, который является отличным инструментарием для работы с изображениями в Linux

0 голосов
/ 20 июня 2009

Microsoft Windows: Ultimate Paint (бесплатная и условно бесплатная) доступны версии).

Обе версии могут сохранять 8-битное прозрачное изображение PNG.

Также можно сохранить как 4-битный PNG (16 цветов). Это сокращает размер файла пополам по сравнению с 8 бит.

Входные форматы включают BMP, GIF, ICO, JPG / JPEG и PNG.

Бесплатная версия Ultimate Paint Standard 2.88 LE. быть загруженным непосредственно из http://www.ultimatepaint.com/up.zip (1,7 МБ).

0 голосов
/ 02 октября 2008

Я рекомендую "GIMP", так как можно выводить в формате PNG8 и поддерживает Linux / Windows. Если вы хотите быстрое решение только для Windows, я также рекомендую IrfanView .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...