![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Рандомный цвет [D7, WinXP]
MrBadge © (2011-04-13 10:45:00)Здравствуйте!
Такой вопрос: можно ли, используя функцию рандом для покраски текста в лейбле, убрать все темные цвета (то есть с какого номера они начинаются?).
Label1.Font.Color:= Random(65535);
Или проще создать отдельно массив и отбирать цвета вручную? Заранее спасибо.
oldman (2011-04-14 10:24:00) [21]
> Цвет фона темный и если лейбл становится темным, то его
> плохо видно.
Лейбл сам по себе становится темным?
Вероятно ты вставил настройку цвета. Так вставь настройку фона.
Пользователь под свои глаза и выставит.
ов (2011-04-13 21:48:00) [22]
> OW © (13.04.11 17:40) [12]
не, ерунда, вообще-то
все 128 - и все, Color=подложке
OW (2011-04-13 17:40:00) [23]наверняка есть алгоритмы, на вскидку
NewR = 255-OldR
NewG = 255-OldG
NewB = 255-OldB
даст максимально разный цвет. Проверил так
object Form1: TForm1
Left = 208
Top = 143
Width = 864
Height = 512
Caption = 'Form1'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
PixelsPerInch = 96
TextHeight = 13
object shpB: TShape
Left = 280
Top = 152
Width = 185
Height = 169
end
object shpF: TShape
Left = 336
Top = 200
Width = 65
Height = 65
end
object lblB: TLabel
Left = 32
Top = 160
Width = 17
Height = 13
Caption = 'lblB'
end
object lblF: TLabel
Left = 32
Top = 184
Width = 16
Height = 13
Caption = 'lblF'
end
object trckbrRB: TTrackBar
Left = 8
Top = 8
Width = 833
Height = 45
Max = 255
TabOrder = 0
OnChange = trckbrRBChange
end
object trckbrGB: TTrackBar
Left = 7
Top = 48
Width = 833
Height = 45
Max = 255
TabOrder = 1
OnChange = trckbrRBChange
end
object trckbrBB: TTrackBar
Left = 4
Top = 96
Width = 833
Height = 45
Max = 255
TabOrder = 2
OnChange = trckbrRBChange
end
object trckbrFR: TTrackBar
Left = 16
Top = 336
Width = 833
Height = 45
Max = 255
TabOrder = 3
OnChange = trckbrRBChange
end
object trckbrFG: TTrackBar
Left = 15
Top = 376
Width = 833
Height = 45
Max = 255
TabOrder = 4
OnChange = trckbrRBChange
end
object trckbrFB: TTrackBar
Left = 12
Top = 424
Width = 833
Height = 45
Max = 255
TabOrder = 5
OnChange = trckbrRBChange
end
object btn1: TButton
Left = 624
Top = 216
Width = 75
Height = 25
Caption = 'btn1'
TabOrder = 6
OnClick = btn1Click
end
end
type
TForm1 = class(TForm)
shpB: TShape;
shpF: TShape;
trckbrRB: TTrackBar;
trckbrGB: TTrackBar;
trckbrBB: TTrackBar;
trckbrFR: TTrackBar;
trckbrFG: TTrackBar;
trckbrFB: TTrackBar;
btn1: TButton;
lblB: TLabel;
lblF: TLabel;
procedure trckbrRBChange(Sender: TObject);
procedure btn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.trckbrRBChange(Sender: TObject);
begin
shpB.Brush.Color := RGB(trckbrRB.Position, trckbrGB.Position, trckbrBB.Position);
shpF.Brush.Color := RGB(trckbrFR.Position, trckbrFG.Position, trckbrFB.Position);
lblB.Caption := Format('RGB(%d,%d,%d) C=%d',[trckbrRB.Position, trckbrGB.Position, trckbrBB.Position, shpB.Brush.Color]);
lblF.Caption := Format('RGB(%d,%d,%d) C=%d',[trckbrFR.Position, trckbrFG.Position, trckbrFB.Position, shpF.Brush.Color]);
end;
procedure TForm1.btn1Click(Sender: TObject);
begin
trckbrFR.Position := 255 - trckbrRB.Position;
trckbrFG.Position := 255 - trckbrGB.Position;
trckbrFB.Position := 255 - trckbrBB.Position;
end;
OW (2011-04-13 17:14:00) [24]в общем случае, неверно
MrBadge (2011-04-13 12:35:00) [25]Спасибо, вопрос решен так:
Label1.Font.Color:= RGB(128+Random(127), 128+Random(127), 128+Random(127));
MBo (2011-04-13 12:34:00) [26]Color := RGB(m + Random(256 - m), -//-, -//-)
m подобрать
И. Павел (2011-04-13 12:14:00) [27]> Label1.Font.Color:= Random(65535);
Почитайте в сети - как цвет представляется числом. И все станет понятно.
Медвежонок ХМЛ (2011-04-13 12:12:00) [28]http://ru.w3support.net/index.php?db=so&id=596216
brother (2011-04-13 12:11:00) [29]> создай 2 списка с цветами: темные и их аналоги - светлые...
2 массива: темные и светлые, думаю рандомно будет ниче смотреться...
brother (2011-04-13 12:09:00) [30]создай 2 списка с цветами: темные и их аналоги - светлые...
Медвежонок Пятачок (2011-04-13 12:07:00) [31]ну исключишь ты темные.
затем обнаружится что светлое на светлом тоже не видно.
потом что желтое на желтом......
MrBadge (2011-04-13 11:44:00) [32]то, что можно выбирать, это я знаю) Цвет фона темный и если лейбл становится темным, то его плохо видно. как раз это мне и надо решить
Медвежонок Пятачок (2011-04-13 10:55:00) [33]можно ли, используя функцию рандом для покраски текста в лейбле, убрать все темные цвета
можно рандомомно выбирать цвет из списка допустимых цветов.
ничего ниоткуда не убирая.
brother (2011-04-13 10:45:00) [34]> все темные цвета (то есть с какого номера они начинаются?
> ).
а это какие?