Java ImageIO: могу ли я преобразовать файл PNG-24 в PNG-8?

Сценарий таков: пользователи веб-приложения могут настроить веб-сайт, выбрав собственное изображение логотипа, цвета фона и фоновые изображения.

Проблема в том, что IE6 не поддерживает прозрачный PNG. Я пробовал несколько клиентских решений, но все они не справляются с тем или иным аспектом (большинство из них не поддерживают свойство css background-repeat).

Я ищу альтернативное решение для создания двух отдельных изображений на сервере: одного для современных браузеров, совместимых с прозрачным png, а другого - для IE6.

Вопрос в том, могу ли я сделать это с помощью ImageIO? По сути, я бы определил, имеет ли изображение формат PNG-24, и преобразовал бы его в PNG-8 (который поддерживается в IE6).


person Dan Burzo    schedule 17.01.2010    source источник


Ответы (2)


Если вам нужна прозрачность в IE6, подумайте о том, чтобы вместо этого просто отправить GIF для этого браузера. Было бы это возможно?

person Thorbjørn Ravn Andersen    schedule 17.01.2010
comment
Да, это могло бы сработать ... легче ли это сделать? (Могу ли я сохранить прозрачность в GIF?) - person Dan Burzo; 17.01.2010
comment
ubuntuforums.org/showthread.php?t=1060128 обсуждает использование Java ImageIO для преобразования PNG в GIF. - person Walter Rumsby; 28.06.2011

Я знаю, вы сказали, что использовали различные клиентские решения, но это работало в проекте, который я использовал, так что на всякий случай: http://jquery.andreaseberhard.de/pngFix/

(если уже пробовали, не стесняйтесь комментировать, я удалю ответ)

person Valentin Rocher    schedule 17.01.2010
comment
На странице написано, что он поддерживает «фоны css (но масштабирование фона)», что означает - судя по предыдущему опыту работы с другими скриптами - что он не имеет дело с повторением фона, а скорее растягивает изображение. - person Dan Burzo; 17.01.2010