Как генерировать случайные названия цветов в C # - PullRequest
47 голосов
/ 27 апреля 2011

Мне нужно создать случайные названия цветов, например, «Красный», «Белый» и т. Д. Как я могу это сделать? Я могу генерировать случайные цвета, как это:

Random randonGen = new Random();
Color randomColor = Color.FromArgb(randonGen.Next(255), randonGen.Next(255), 
randonGen.Next(255));

но мне нужны имена, и не все сгенерированные цвета имеют известное имя.

Спасибо

Ответы [ 14 ]

0 голосов
/ 11 апреля 2013

Здесь я генерирую цвета на основе завершенного профиля.

public string generateColour(Decimal percentProfileComplete )
{
    if(percent < 50)
    { 
        return "#" + (0xff0000 | Convert.ToInt32(Convert.ToDouble(percentProfileComplete ) * 5.1) * 256).ToString("X6");
    }
    return "#" + (0xff00 | (255 - Convert.ToInt32((Convert.ToDouble(percentProfileComplete ) - 50) * 5.1)) * 256 * 256).ToString("X6");
}
0 голосов
/ 20 марта 2013
private string getRandColor()
        {
            Random rnd = new Random();
            string hexOutput = String.Format("{0:X}", rnd.Next(0, 0xFFFFFF));
            while (hexOutput.Length < 6)
                hexOutput = "0" + hexOutput;
            return "#" + hexOutput;
        }
0 голосов
/ 27 апреля 2011

генерирует случайное число и приводит его к KnownColor Type

((KnownColor)Random.Next());
0 голосов
/ 27 апреля 2011

Нет никакого способа рандомизировать перечисление, как вы хотите, наиболее подходящее решение будет проходить путем установки списка со всеми значениями цветов, затем получения целого числа, рандомизирующего его, и использования его в качестве индекса список.

...