Инверсия цвета
Добавлено: 27 мар 2005, 20:07
Дан RGB цвет, как получить инверсный к нему?
То есть, цвет, который был бы лучше всего виден на фоне заданного?
Зачем? Select, например. Если выбраный элемент подсвечивается бэкфоном - то нужно и цвет шрифта менять.
Почему нельзя зашить цвет Selecta? В Java, например, используются настройки ОС пользователя. И если я правильно понял - цвет Select берётся пользовательский, а шрифт - всегда белый. Само собой проблемы, когда SelectColor = white.
Варианты решения:
1. 255 -RGB
Быстро, просто, делает то, что нужно, за исключением средней области цветов.
2. (RGB+128) mod 256
вопреки ожиданиям - результаты хуже, чем пункт 1.
кроме того, непривычно, что инверсия чёрного - это серый, а не белый.
Экспериментальная таблица(255-RGB):
http://home.informatik.tu-muenchen.de/~ ... inv_color/
Страница написана, по сути, только на JavaScript, потому её можно сохранить и поэкспериментировать с ф-цией inv(number), если будет желание.
Показать проблему:
http://home.informatik.tu-muenchen.de/~ ... border=yes
Удалить проблемные участки:
http://home.informatik.tu-muenchen.de/~ ... colors=yes
Может кто-то сталкивался с подобной проблемой, или просто знает её решение?
То есть, цвет, который был бы лучше всего виден на фоне заданного?
Зачем? Select, например. Если выбраный элемент подсвечивается бэкфоном - то нужно и цвет шрифта менять.
Почему нельзя зашить цвет Selecta? В Java, например, используются настройки ОС пользователя. И если я правильно понял - цвет Select берётся пользовательский, а шрифт - всегда белый. Само собой проблемы, когда SelectColor = white.
Варианты решения:
1. 255 -RGB
Быстро, просто, делает то, что нужно, за исключением средней области цветов.
2. (RGB+128) mod 256
вопреки ожиданиям - результаты хуже, чем пункт 1.
кроме того, непривычно, что инверсия чёрного - это серый, а не белый.
Экспериментальная таблица(255-RGB):
http://home.informatik.tu-muenchen.de/~ ... inv_color/
Страница написана, по сути, только на JavaScript, потому её можно сохранить и поэкспериментировать с ф-цией inv(number), если будет желание.
Показать проблему:
http://home.informatik.tu-muenchen.de/~ ... border=yes
Удалить проблемные участки:
http://home.informatik.tu-muenchen.de/~ ... colors=yes
Может кто-то сталкивался с подобной проблемой, или просто знает её решение?