Программное обеспечение для создания 8-битных прозрачных изображений PNG?

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

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

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
7
0
9 959
8

Ответы 8

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

Да, я обычно использую GIMP, но в этой статье говорится: «Я могу точно подтвердить, что ни в PhotoShop, ни в Gimp, ни в Paintshop Pro, ни в Xara нет встроенных функций».

grom 02.10.2008 08:39

В следующей статье предполагается, что PNG8 используется по умолчанию для GIMP, но я вполне могу ошибаться в этом. Похоже, у некоторых людей тоже есть хорошие предложения. docs.gimp.org/en/gimp-images-out.html

Jordan Parmer 02.10.2008 08:42

Хотя GIMP позволяет создавать индексные PNG (например, PNG8), он не поддерживает наличие альфа-канала для одной или нескольких записей палитры. Так что не удалось добиться эффекта по статье.

grom 07.10.2008 06:09

Обратите внимание на страницу, на которую вы ссылаетесь, говорится: «Более того, этот формат« PNG8 », как и GIF, использует только один бит для прозрачности; возможны только два уровня прозрачности: прозрачный или непрозрачный». Похоже, здесь кто-то ошибся.

PhiLho 23.10.2008 15:53

Он не использует 1 бит для прозрачности. Он использует один индекс (один цвет) в качестве обозначенного прозрачного цвета. Обычно вы выбираете индекс 0 или индекс 255 (в зависимости от количества используемых вами цветов) в качестве прозрачного цвета.

Luke 20.06.2009 05:39

Люк: Возможно, но не часто, иметь полную альфа-прозрачность, например, до 255 уровней частично прозрачного изображения в изображениях формата PNG8. Вот о чем он спрашивает. GIMP НЕ поддерживает создание этого типа изображения ... если вы конвертируете его в индексированное изображение, он дает вам только включение / выключение прозрачности, а не весь диапазон уровней.

davr 01.10.2009 02:08

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

Я попытался использовать Image Magick в соответствии с комментарием, но полученное изображение было испорчено

grom 02.10.2008 09:33

Я не думаю, что Image Magick поддерживает 8-битный PNG с более чем 1-битной альфа-прозрачностью. По крайней мере, я не мог понять, как заставить их генерировать их.

davr 01.10.2009 02:01

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

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

Я также рекомендую pngout; По моему опыту, он имеет тенденцию превосходить почти все другие оптимизаторы из-за своей специальной библиотеки DEFLATE.

Dark Shikari 02.10.2008 08:39

Вау. Просто попробовал pngout, и он взорвал все, что генерирует libpng. Я бы хотел, чтобы чувак выпустил свой кастомный zlib ...

Mike F 02.10.2008 10:19

Чтобы упростить сжатие 8-битных изображений PNG, мы создали онлайн-сервис по адресу tinypng.org.

molf 25.06.2012 02:26

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

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

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

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

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

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

Если ваши изображения уже содержат 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, но это, вероятно, будет зависеть от того, какая стратегия квантования лучше всего работает с файлами, с которыми вы работаете.

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

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 МБ).

Пожалуйста, не редактируйте закрытые вопросы первым, если ваше изменение не позволяет повторно открыть вопрос (т.е. не соответствует теме). Вопросы получают один и только один бесплатную запись за редактированием в очередь повторного открытия. Ваше редактирование здесь узурпировало возможность OP легко показать свой вопрос людям, которые могли проголосовать за повторное открытие, чтобы внести правку, которая просто исправляла грамматику. Да, если вопрос открытый, или если вы не были первым пользователем, который редактировал вопрос после того, как он был закрыт, или если вы проголосовали за закрытие, тогда, отлично, исправьте грамматику сообщения.

Makyen 06.01.2019 03:46

Но если ваша правка будет первой после закрытия, и вы не проголосовали за закрытие, пожалуйста, не вносите такие правки, если только они не сделают вопрос таким, который нужно повторно открыть. [Пожалуйста, свяжитесь со мной здесь, как только вы прочитаете эти комментарии, чтобы я мог удалить их, поскольку они не имеют никакого отношения к этому сообщению.]

Makyen 06.01.2019 03:46

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

apt-get install pngnq # если на ubuntu / debian

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

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