Специальные предложения

Подключись до конца лета и попробуй безлимитный интернет всего за 300 рублей!
Подробнее >>

Приведи друга и получи 500 рублей на счёт!
Подробнее >>

Разместил: Maggot   Дата: 2008-11-04 09:45   Версия для печати
На данный момент я знаю только один случай, когда определение "глубины" цвета может сыграть полезную нам роль - развлечение с фильтром Альфа и использование его для создания градиентных заливок. Напомню - фильтр Альфа позволяет установить уровень прозрачности для обьектов в броузере Эксплорер, устанавливая градиентную прозрачность для одной ячейки мы получаем плавный переход от цвета ячейки к цвету фона под ней. При некотором старании можно направить изменение под нужным нам углом - по диагонали, например. Один минус - вся полнота эффекта проявляется только на мониторе с 32битами на пиксел. Такие мониторы еще не у всех есть, а на мониторах с меньшей глубиной цвета наш градиент преобритает очень неприятную "полосатость". В Нетскейпе данный фильтр нам проблем не создает - он просто отсутствует. Определить глубину цвета, установленного на мониторе мы можем через свойство screen.colorDepth.



Все очень прото - если глубина цвета меньше 32бит на пиксел, мы получаем одно описание стиля, если 32, то другое. Проверил и в Эксплорере и в Нетскейпах - все вполне надежно работает, можно использовать. В данном примере обьект с id=ff - наш подопытный. В зависимости от глубины цвета он окрашивается либо в красный, либо в синий цвет. Осталось только вставить в скрипт описание фильтра, и мы получаем эффект градиентной заливки в Эксплорере без использования графических файлов. При "неблагоприятных" условиях используется альтернативное описание стиля обьекта.

© 2009 ДиасПро