Могу ли я обнаружить старые мониторы и предоставить им безопасные для сети цвета? - PullRequest
4 голосов
/ 19 мая 2011

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

Есть ли какой-либо код, который я могу использовать, который изменит цвет с небезопасного веб-цвета на ближайший веб-безопасный цвет, если посетитель не сможет увидеть невеб-безопасные цвета?

Ответы [ 3 ]

4 голосов
/ 19 мая 2011

Поскольку на этот вопрос, насколько мне известно, нельзя ответить простым HTML, я публикую это решение JavaScript, чтобы предложить альтернативное средство:

Можно использовать screen.colorDepth для возврата глубины цвета в битах экрана пользователя. За исключением ошибочной / ошибочной реализации в Firefox 3.x и 4.1 (бета).

var theImg = document.getElementsByTagName('img')[0];

if (screen.colorDepth < 32) {
    theImg.src = 'http://davidrhysthomas.co.uk/img/the_shat.png';
}
else {
    theImg.src = 'http://davidrhysthomas.co.uk/img/terry_thomas.png';
}

alert(screen.colorDepth);

Дополнения в отношении PPK, Chromium 11 / Ubuntu 11.04 также возвращает 24 вместо 32, так что Firefox мог быть верным.

Демонстрация JS Fiddle .

Справка:

1 голос
/ 19 мая 2011

Я могу ошибаться, но смысл веб-безопасных цветов был в том, что ваши изображения будут выглядеть одинаково на мониторе с меньшей глубиной цвета (например, 8-битный цвет), как на одном с более высоким глубина цвета (16/24-битный цвет). Это произошло бы потому, что все эти цвета (теоретически) должны отображаться во всех цветовых форматах.

Если у вас есть изображение, которое не является веб-безопасным, и вы просматриваете его в системе с 8-битным цветом, все цвета, которые не вписываются в цветовые возможности дисплея, должны автоматически отображаться как ближайший цвет, который подходит. По сути, вам не нужно «конвертировать» его. Глубина цвета в битах не позволяет ему отображать ДРУГИЕ цвета, и поэтому ему придется добавить что-то, что должно быть следующим ближайшим отображаемым цветом.

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

0 голосов
/ 19 мая 2011

Браузер автоматически сделает это, если вы используете шестнадцатеричные / цветовые коды, а не изображения. И с изображениями они будут просто колебаться, грациозно унижая их опыт без работы.

http://www.limov.com/colour/when-to-use-the-web-safe-palette.lml

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