Показать сообщение отдельно
  #2  
Старый 15.05.2013, 23:28
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

На панели "лежит" 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 в.д.
Ответить с цитированием