Имя: Пароль:
1C
 
Случайное получение цвета
0 inkvizitr
 
11.02.19
12:57
написал вот такой алгоритм для случайного получения цвета, но.. оттенки бывают очень схожи при очередном получении, как добиться того, чтобы цвета конкретно отличались, т.е генерился к примеру зелёный, потом синий, красный и.т.д. в моем случаи бывает что получается синий но с оттенками

ГСЧ = Новый ГенераторСлучайныхЧисел();
НачальноеЧисло = ГСЧ.СлучайноеЧисло(0, 255);
R = ГСЧ.СлучайноеЧисло(НачальноеЧисло, 255);
G = ГСЧ.СлучайноеЧисло(НачальноеЧисло, 255);
B = ГСЧ.СлучайноеЧисло(НачальноеЧисло, 255);
Цвет = Новый Цвет(R, G, B);
1 Жан Пердежон
 
11.02.19
12:58
Зафиксируй цветов 20-30 и рандомно из них выбирай
2 Лодырь
 
11.02.19
13:01
(0) Сделай критерий схожести цветов (например расстояние в трехмерном пространстве) и проверяй на него.
3 Philix
 
11.02.19
13:01
(0) Вариант 1: Генерировать через случайное число дельту от текущего цвета, при этом  дельту гнать в размере от 127 до 255 и обработать переходы через максимальную границу номера цвета в 255 (например через остаток от деления на 255)
Вариант 2: Каждый раз менять только один из составляющих цветов по правилу из варианта 1.

Только не забыть пользователю легенду вывести и молиться, чтобы тест случайного цвета был читаем на фоне случайного цвета... :)
4 Zmich
 
11.02.19
13:05
(0). Зафиксировать выбор из стандартных цветов палитры 1С и уже потом по случайному числу определять цвет. Вот тут есть "код" со всеми цветами:
v8: Как перебрать коллекцию Web-Цветов?
5 inkvizitr
 
11.02.19
13:09
(4) спс
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан