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

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

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

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

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

Ответ 1

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

Ответ 2

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

Ответ 3

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

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

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

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

Ответ 4

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