![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Sponger |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 165 Регистрация: 14.2.2006 Репутация: нет Всего: нет |
Как вычислить обратное значение цвета. Т.е если у меня фон черный (темный), то текст должен быть не черный а белый (светлый), короче что-бы текст читался на любом фоне.
|
|||
|
||||
| Sunvas |
|
|||
|
Соль и сахар ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3388 Регистрация: 12.3.2006 Где: Тосно Репутация: 28 Всего: 89 |
Первый способ:
font.color:=brush.color xor youcolor; Втророй способ: canvas.pen.mode:=pmxor //или что-то другое (выбери из списка) Третий способ: font.color:=brush.color shl 8 -------------------- Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их. |
|||
|
||||
| Sponger |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 165 Регистрация: 14.2.2006 Репутация: нет Всего: нет |
Ни один из этих способов не работает.
Font.Color := brush.color shl 8; - это меняет Font.Color, но не для всех цветов. Пример - для темно синего brush.color - цвет Font.Color = black. А мне надо чтобы были контрастные цвета Это сообщение отредактировал(а) Sponger - 19.4.2006, 08:02 |
|||
|
||||
| ~FoX~ |
|
|||
![]() НЕ рыжий!!! ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2819 Регистрация: 8.10.2003 Где: Зеленоград Репутация: 13 Всего: 68 |
font.color:= 255 - brush.color;
Вроде так стандартно получают негатив из RGB. Это сообщение отредактировал(а) ~FoX~ - 19.4.2006, 08:12 |
|||
|
||||
| Sponger |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 165 Регистрация: 14.2.2006 Репутация: нет Всего: нет |
Блин, думал можно сделать инверсию цвета не преобразовывая в RGB.
|
|||
|
||||
| ~FoX~ |
|
|||
![]() НЕ рыжий!!! ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2819 Регистрация: 8.10.2003 Где: Зеленоград Репутация: 13 Всего: 68 |
Ну на в хексе
font.color:= $FFFFFF - brush.color; Это сообщение отредактировал(а) ~FoX~ - 19.4.2006, 08:33 |
|||
|
||||
| Sponger |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 165 Регистрация: 14.2.2006 Репутация: нет Всего: нет |
Опять не получается для черного и темносинего brush.color, font.Color = black А если вот так Font.Color := RGB(255 - ColorToRGB(brush.color), (255 - ColorToRGB(brush.color)) shr 8, (255 - ColorToRGB(brush.color)) shr 16); то цвета преобразоваыаются на синем и черном фоне красные буквы, и т.д., а хотелось бы буквы белого или черного получить. Добавлено @ 08:48 Может быть по другому. Как определить светлый или темный цвет? |
|||
|
||||
| ~FoX~ |
|
|||
![]() НЕ рыжий!!! ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2819 Регистрация: 8.10.2003 Где: Зеленоград Репутация: 13 Всего: 68 |
Ну попробуй так....
|
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 4 Всего: 110 |
при значении каждого цвета FF/2 ничего хорошего не получится где-то на форуме была подобная тема суть в том, что цвет переводится в серый эквивалентной яркости, а ее можно потом сравнить с 0.5 просто берется сумма цветовых компонент с какими-то коэффициентами... -------------------- qqq |
|||
|
||||
| Sponger |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 165 Регистрация: 14.2.2006 Репутация: нет Всего: нет |
~FoX~ спасибо это работает. Это сообщение отредактировал(а) Sponger - 19.4.2006, 11:54 |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |