Изображение отображается с неправильными цветами в IE8 - PullRequest
3 голосов
/ 14 ноября 2009

У меня есть градиентное изображение в виде PNG (без прозрачности) на веб-странице. Делая снимок экрана Chrome, показывая страницу и обрезая изображение со страницы, я вижу, что те же цвета нарисованы так же, как и изображение ... поместите снимок экрана рядом с изображением в Paint, и они будут идентичны.

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

У кого-нибудь есть идеи, почему и как я могу решить эту проблему? Дело в том, что у меня есть фон, залитый сплошным цветом, и градиентное изображение идеально подходит для этого ... одна сторона изображения имеет то же значение RGB, что и фон страницы. Очевидно, что если изображение не нарисовано правильно, вы увидите неприятный эффект края.

1 Ответ

4 голосов
/ 14 ноября 2009

Это только немного отличается, верно? Но хватит ли видеть разницу?

Это потому, что PNG-файлы обычно хранят гамма-коррекцию информацию, которая должна была быть хорошей идеей, но на самом деле это не так: Грустная история PNG-гамма-коррекции .

Лучший способ исправить это - удалить эту гамма-информацию из PNG и фактически всю другую информацию, связанную с цветовым пространством. Это все хранится в блоках gAMA, sRGB, cHRM и iCCP.

Есть несколько утилит, которые могут сделать это, например, Pngcrush и Pngout . Существует множество других этих инструментов, некоторые из которых имеют больше функций, чем другие, а некоторые более удобны для пользователя, чем другие, но вы сможете найти их сами.

Вид PNG Gamma Dilemma обобщает эту первую статью и дает некоторую информацию об использовании Pngcrush.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...