Альфа-прозрачность в индексированных изображениях-png

StackOverflow https://stackoverflow.com/questions/4184073

  •  10-10-2019
  •  | 
  •  

Вопрос

Вот изображение: Gradient1
Это изображение представляет собой простой градиент от черного к прозрачному, сохраненный в полном формате RGBA PNG.

Вот то же изображение, преобразованное GIMP в формат PNG с индексированным алфавитом (Photoshop выдает тот же результат).
Gradient2
Как вы можете видеть, градиент теперь наполовину непрозрачный, наполовину прозрачный.

Вот снова то же изображение, только на этот раз оно было преобразовано в формат PNG с индексированным алфавитом с помощью написанного мной PHP-скрипта:
Gradient3

Итак, мой вопрос заключается в следующем:Почему GIMP и Photoshop не могут поддерживать частичную прозрачность в индексированных изображениях, когда PHP-скрипт ясно показывает, что такое изображение может быть создано без проблем?
Есть ли что-то "неправильное" с изображением, палитра которого содержит альфа-информацию?
Вопрос, более связанный с программированием:Работает ли эта прозрачность на последнем изображении в Internet Explorer 6?

Это было полезно?

Решение 2

Я наконец нашел фактический ответ: есть запись метаданных, которая позволяет вам определить альфа -значение каждого цвета в цветовой таблице. Большинство графических программ не используют это, но это существует и может использоваться, в частности GD.

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

Для этой записи PNG не поддерживает индексированные изображения с помощью альфа -канала. Что действительно происходит, так это то, что PNG позволяет добавлять дополнительные цвета к цветовому столу (т.е. индекс) со значениями альфа в этих цветах ... не полным альфа -каналом. Fwiw ...

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

Я нашел этот пост в котором еще немного рассказывается о том, как его использовать.

IE6 и более ранние версии в Windows не поддерживают PNG с переменной прозрачностью без раздражающих обходных путей.Индексированный PNG будет показывать только полностью непрозрачные части, что обычно работает довольно хорошо.Отбрасываемая тень исчезнет, но непрозрачные части логотипа или значка продолжат отображаться.

На этой странице есть лучшее объяснение и инструкции с большим количеством инструментов сжатия и квантования png: http://calendar.perfplanet.com/2010/png-that-works/

Да, я знаю, что ты имеешь в виду. Fireworks - единственная программа редактирования изображений, о которой я знаю, которая может создать и редактировать PNG8+Alpha без проблем. Я бы хотел, чтобы больше программ покраски поддерживали бы этот формат, потому что фейерверк стоит дорого!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top