【发布时间】:2011-11-16 02:34:04
【问题描述】:
我有生成随机颜色的方法。 此方法有 3 个参数,如果传递的参数相等,结果颜色应该相等。 请帮我找到计算随机颜色的公式(一些表达式)。
protected static string RandomColor(int metaDataId, int operationId, int dataType)
{
var names = (KnownColor[])Enum.GetValues(typeof(KnownColor));
metaDataId = Math.Abs(metaDataId); // metaDataId = {1...N}
operationId = Math.Abs(operationId);// operationId = {1...N}
dataType = Math.Abs(dataType);// dataType = {1..6}
var colorsCount = names.Length;
var seed = /* some operations for generating Random color */;
var randomGen = new Random(seed);
Color randomColor;
while (true)
{
var randomColorName = names[randomGen.Next(names.Length)];
randomColor = Color.FromKnownColor(randomColorName);
var brightness = randomColor.GetBrightness();
if (brightness < 0.7 && brightness > 0.2)
{
break;
}
}
return ColorTranslator.ToHtml(randomColor);
}
【问题讨论】:
标签: c# .net random colors system.drawing