Альфа-прозрачность в изображениях с индексированием-png
Вот изображение:
Это изображение представляет собой простой градиент от черного к прозрачному, сохраненный в полном PNG RGBA.
Вот то же изображение, преобразованное в PNG с индексированной альфа-версией с помощью GIMP (Photoshop дает тот же результат)
Как видите, градиент теперь полупрозрачный, полупрозрачный.
Вот снова то же изображение, только на этот раз оно было преобразовано в PNG с индексированной альфа-версией с помощью сценария PHP, который я написал:
Итак, мой вопрос: почему 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 стоит дорого!