Форум: "Начинающим";
Текущий архив: 2011.08.14;
Скачать: [xml.tar.bz2];
ВнизРандомный цвет Найти похожие ветки
← →
MrBadge (2011-04-13 10:45) [0]Здравствуйте!
Такой вопрос: можно ли, используя функцию рандом для покраски текста в лейбле, убрать все темные цвета (то есть с какого номера они начинаются?).Label1.Font.Color:= Random(65535);
Или проще создать отдельно массив и отбирать цвета вручную? Заранее спасибо.
← →
brother © (2011-04-13 10:45) [1]> все темные цвета (то есть с какого номера они начинаются?
> ).
а это какие?
← →
Медвежонок Пятачок © (2011-04-13 10:55) [2]можно ли, используя функцию рандом для покраски текста в лейбле, убрать все темные цвета
можно рандомомно выбирать цвет из списка допустимых цветов.
ничего ниоткуда не убирая.
← →
MrBadge (2011-04-13 11:44) [3]то, что можно выбирать, это я знаю) Цвет фона темный и если лейбл становится темным, то его плохо видно. как раз это мне и надо решить
← →
Медвежонок Пятачок © (2011-04-13 12:07) [4]ну исключишь ты темные.
затем обнаружится что светлое на светлом тоже не видно.
потом что желтое на желтом......
← →
brother © (2011-04-13 12:09) [5]создай 2 списка с цветами: темные и их аналоги - светлые...
← →
brother © (2011-04-13 12:11) [6]> создай 2 списка с цветами: темные и их аналоги - светлые...
2 массива: темные и светлые, думаю рандомно будет ниче смотреться...
← →
Медвежонок ХМЛ © (2011-04-13 12:12) [7]http://ru.w3support.net/index.php?db=so&id=596216
← →
И. Павел © (2011-04-13 12:14) [8]> Label1.Font.Color:= Random(65535);
Почитайте в сети - как цвет представляется числом. И все станет понятно.
← →
MBo © (2011-04-13 12:34) [9]Color := RGB(m + Random(256 - m), -//-, -//-)
m подобрать
← →
MrBadge (2011-04-13 12:35) [10]Спасибо, вопрос решен так:
Label1.Font.Color:= RGB(128+Random(127), 128+Random(127), 128+Random(127));
← →
OW © (2011-04-13 17:14) [11]в общем случае, неверно
← →
OW © (2011-04-13 17:40) [12]наверняка есть алгоритмы, на вскидку
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;
← →
ов (2011-04-13 21:48) [13]
> OW © (13.04.11 17:40) [12]
не, ерунда, вообще-то
все 128 - и все, Color=подложке
← →
oldman © (2011-04-14 10:24) [14]
> Цвет фона темный и если лейбл становится темным, то его
> плохо видно.
Лейбл сам по себе становится темным?
Вероятно ты вставил настройку цвета. Так вставь настройку фона.
Пользователь под свои глаза и выставит.
← →
Dimka Maslov © (2011-04-14 13:22) [15]Для того, чтобы отличить "светлый" цвет от "тёмного" надо перевести его в цветовое пространство HSL.
← →
stas © (2011-04-21 16:28) [16]MrBadge (13.04.11 10:45)
Можно сделать так:Label1.Font.Color:= Random(clWhite);
Label1.Color:=clWhite-Label1.Font.Color;
В это случае цвет фона будет являться негативом цвета шрифта и всегда будет виден, только вот насколько это красиво будет не знаю )
← →
Dimka Maslov © (2011-04-22 21:52) [17]stas © (21.04.11 16:28) [16]
Преставим себе ситуацию, когда цвет равен $808080....
← →
KilkennyCat © (2011-04-23 01:18) [18]смещать на процентов 30, да и все.
← →
Германн © (2011-04-23 01:51) [19]
> смещать на процентов 30, да и все.
Хорошо сказано, но не понятно. :)
← →
KilkennyCat © (2011-04-23 02:32) [20]а что там понимать. берем ffffff - 30% будет 3с3с3с - вот и прибавляем их.
пример (k - это эти 30%):
000000 + k = 3с3с3с
ffffff + k = 3c3c3c
eeeeee + k = 2b2b2b
так получаем четко выраженную разницу в яркости, можно и сильней разброс сделать...
← →
Германн © (2011-04-23 02:49) [21]
> так получаем четко выраженную разницу в яркости
Не буду спорить, лень вдумываться в то, что меня сейчас мало волнует.
← →
Германн © (2011-04-23 03:01) [22]
> Германн © (23.04.11 02:49) [21]
>
>
> > так получаем четко выраженную разницу в яркости
>
> Не буду спорить, лень вдумываться в то, что меня сейчас
> мало волнует.
>
Ты вот мне объясни цветовую гамму PS/2 кабеля для клавы.
Data - Black
Ground - Red
+5V - Orange
Clock - Yellow
а то я в полном недопорумании. То ли я дурак, то ли не я.
← →
KilkennyCat © (2011-04-23 03:08) [23]
> Германн © (23.04.11 03:01) [22]
а там много альтернативных вариантов.
+CLK --Green--Blue----White--Yellow-White-Blue
Data --White--Yellow--Green--Red----Green-Yellow
GND --Yellow--Black---Orange-Gray---Black-White
Vcc --Red-----Red----Blue----Brown--Red--Orange
← →
KilkennyCat © (2011-04-23 03:10) [24]твои цвета даже не влезают.т.е. еще один вариант....
← →
Очень Злой (2011-05-04 22:27) [25]
> наверняка есть алгоритмы, на вскидку
> NewR = 255-OldR
> NewG = 255-OldG
> NewB = 255-OldB
> даст максимально разный цвет. Проверил так
максимально разностный это скорее так:
if OldR>127 then NewR:=0 else NewR:=255;
и.т.д.
> смещать на процентов 30, да и все.
тогда сразу на 50% смещать...
NewRGB:=OldRGB xor $808080;
Только вот зачем лейбы красить в непонятные цвета, как хочет топикстартер не понимаю... Или это новая мода в дизайне?
← →
Anatoly Podgoretsky © (2011-05-05 08:44) [26]> Очень Злой (04.05.2011 22:27:25) [25]
Выпендриться, ни у кого нет, а меня есть, остальные ламеры позорные
← →
w (2011-05-05 15:15) [27]делать рандомно цвет подложки от него негатив на метку
← →
Anatoly Podgoretsky © (2011-05-05 15:39) [28]> w (05.05.2011 15:15:27) [27]
Например 7fffffff -> 80000000
← →
antonn © (2011-05-05 18:18) [29]
> делать рандомно цвет подложки от него негатив на метку
такой "колхоз" будет... :)
← →
Amoeba_ (2011-05-05 19:49) [30]Автор вопроса до сих пор так и не поведал, после какой травы ему в башку пришла его бредовая идея.
← →
Anatoly Podgoretsky © (2011-05-05 20:42) [31]> Amoeba_ (05.05.2011 19:49:30) [30]
Тут помню, тут не помню.
← →
antonn © (2011-05-05 22:41) [32]
> Автор вопроса до сих пор так и не поведал, после какой травы
> ему в башку пришла его бредовая идея.
Мне такая бредовая идея приходит когда я в играх метки на экране должен расставлять.
← →
w (2011-05-06 06:58) [33]
> Anatoly Podgoretsky © (05.05.11 15:39) [28]
> > w (05.05.2011 15:15:27) [27]Например 7fffffff -> 80000000
собсно про альфу никто и не говорит.
> antonn © (05.05.11 18:18) [29]
> > делать рандомно цвет подложки от него негатив на меткутакой
> "колхоз" будет... :)
Ну так оно и так колхоз :)
← →
Dennis I. Komarov © (2011-05-06 10:21) [34]Скрин покажи, а то пока действительно колхоз
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2011.08.14;
Скачать: [xml.tar.bz2];
Память: 0.53 MB
Время: 0.004 c