|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
сменить цвет текста в зависимости от цвета фона чтоб текст остался виден
в программе есть опция смены фона на любой пользовательский, но ещё в программе на канвас выводится некий текст,
и нужна какая нибудь функция которая бы подбирала цвет текста на канвасе так чтобы его было видно на любом фоне. помогите пожалуйста такую найти Последний раз редактировалось Snake22, 15.05.2013 в 22:43. |
#2
|
||||
|
||||
На панели "лежит" TLabel. Контрастность цвета подбирается для неё в зависимости от цвета панели.
Код:
function ContrastColor(Color : TColor) : TColor; var R, G, B : Byte; begin R := GetRValue(Color); G := GetGValue(Color); B := GetBValue(Color); if (R < 128) then R := 255 else R := 0; if (G < 128) then G := 255 else G := 0; if (B < 128) then B := 255 else B := 0; Result := RGB(R, G, B); end; procedure TForm1.Button1Click(Sender: TObject); begin if ColorDialog1.Execute then begin Panel1.Color := ColorDialog1.Color; Label1.Font.Color := ContrastColor(ColorDialog1.Color); end; end; Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
Этот пользователь сказал Спасибо angvelem за это полезное сообщение: | ||
Snake22 (16.05.2013)
|