Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.11.2011, 04:45   #1
skvair
Пользователь
 
Регистрация: 22.11.2011
Сообщений: 14
По умолчанию рандомность цветов в c++ builder

Как сделать, что цвета рандомно появлялись, но они были только основные без оттенков.
Я додумался только до двух способов
1) Canvas->Brush->Color = random(Color);
2) Canvas->Brush->Color = random(150504);

Но ни один из методов не подходит.
Мне надо основные цвета в рандомную область. Есть ли способ задать то, что нужно рандомно выдавать
Спасибо
skvair вне форума Ответить с цитированием
Старый 23.11.2011, 11:01   #2
Karpinsky
Подтвердите свой е-майл
 
Регистрация: 19.10.2011
Сообщений: 28
По умолчанию

Запиши все нужные цвета в массив (я так понимаю, "основные" - это от clAqua до clYellow?), и просто генерируй случайный индекс в интервале 0 .. 21
Karpinsky вне форума Ответить с цитированием
Старый 23.11.2011, 12:14   #3
skvair
Пользователь
 
Регистрация: 22.11.2011
Сообщений: 14
По умолчанию

Как из него выбрать значение? Вот что я написал

char OColor[7][10]={"clRed",
"clLime",
"clYellow",
"clBlue",
"clAqua",
"clWhite",
"clBlack"};
int h=random(7);
Canvas->Brush->Color = OColor[h][10];
Canvas->Rectangle(0, 25, 300, 175);
skvair вне форума Ответить с цитированием
Старый 23.11.2011, 13:54   #4
Karpinsky
Подтвердите свой е-майл
 
Регистрация: 19.10.2011
Сообщений: 28
По умолчанию

Почему в виде строки? Все проще:
Код:
TColor OColor[7] =
{
	clRed,
	clLime,
	clYellow,
	clBlue,
	clAqua,
	clWhite,
	clBlack
};
int h = random(7);
Canvas->Brush->Color = OColor[h];
Canvas->Rectangle(0, 25, 300, 175);
Karpinsky вне форума Ответить с цитированием
Старый 05.12.2011, 21:18   #5
HollyPaladin
Пользователь
 
Аватар для HollyPaladin
 
Регистрация: 29.11.2009
Сообщений: 51
По умолчанию

Любые цвета можно получать примерно так:
Код:
RGB(rand()%255,rand()%255,rand()%255)
Не знаю что имелось ввиду про оттенки, но если нужны какието определенные цвета можно получить их путем смешивания других цветов.
HollyPaladin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Реакция цветов Dark Espeon Помощь студентам 0 18.03.2011 18:08
Перевод цветов RIO Общие вопросы Delphi 10 11.11.2009 15:10
Сортировка цветов Altera Общие вопросы Delphi 21 30.09.2009 17:55
Сравнивание цветов Zeraim Общие вопросы Delphi 7 26.04.2008 12:49