![]() |
|
|
![]()
|
|
| Антон |
|
|||
|
Unregistered |
Проблема в следующем:
Есть надпись на фоне некоторого цвета и хочется, чтобы она не сливалась с фоном и хорошо читалась, при этом чтобы она была либо чёрной, либо белой. Как по РГБ-коду цвета определить, чёрной или белой должна быть надпись? |
|||
|
||||
| B2_Russia |
|
|||
![]() В доску свой :) ![]() ![]() Профиль Группа: Участник Сообщений: 344 Регистрация: 3.7.2003 Где: Тверь Репутация: 1 Всего: 1 |
Предлагаю найти среднее значение цвета фона (3*255)/2 = X
если X<127 тогда - белая иначе - черная. Вот таким тупым способом сделал бы я, хотя нада посмотреть что получится... либо так: X = 0.30*R+0.59*G+0.11*B; если X<127 тогда - белая иначе - черная. Так наверное будет правильнее |
|||
|
||||
| Crait |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 244 Регистрация: 20.2.2003 Репутация: 1 Всего: 1 |
Определяешь в RGB-пространстве расстояния от точки с цветом фона
до точки белого цвета и до точки черного цвета. Какое расстояние больше - тот цвет и используй. Вообще-то у меня функция определения расстояния была несколько сложнее, чем просто расстояние в 3D-модели, но можно и так. Это сообщение отредактировал(а) Crait - 30.7.2003, 15:27 |
|||
|
||||
| Unregistered |
|
|||
|
Unregistered |
Фон одноцветный
|
|||
|
||||
| Антон |
|
|||
|
Unregistered |
Фон одноцветный
X = 0.30*R+0.59*G+0.11*B; А эти числа откуда? |
|||
|
||||
| B2_Russia |
|
|||
![]() В доску свой :) ![]() ![]() Профиль Группа: Участник Сообщений: 344 Регистрация: 3.7.2003 Где: Тверь Репутация: 1 Всего: 1 |
Это преобразование в 256 градаций серого
|
|||
|
||||
| Антон |
|
|||
|
Unregistered |
Фон одноцветный
X = 0.30*R+0.59*G+0.11*B; А эти числа откуда? |
|||
|
||||
| B2_Russia |
|
|||
![]() В доску свой :) ![]() ![]() Профиль Группа: Участник Сообщений: 344 Регистрация: 3.7.2003 Где: Тверь Репутация: 1 Всего: 1 |
Да не знаю я откуда, главное работает. Могу предположить, что их вывели из способности глаза различать оттенки цвета или диапазоны волн. Не я их придумал, могу сказать, что это - "стандарт", не беспокойся.
|
|||
|
||||
| &-ray |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 406 Регистрация: 15.4.2003 Где: Казахстан, г Аста на Репутация: нет Всего: нет |
Посмотри СЮДА если тебе легче станет. -------------------- "Совсем неважно от чего помрешь, ведь куда важнее - для чего родился..." С.Б. -------------------- И снова мышь беру я в руки Куда иду? - Конечно в сруки! |
|||
|
||||
![]()
|
| Правила форума "Алгоритмы" | |
|
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Алгоритмы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |