所以我使用的是C#WebBrowser控件,并尝试将字符串转换为HTML / CSS彩虹。目前,我只是以十六进制格式随机生成1000种颜色,并遍历字符串中的每个字符,为每个字符添加span
样式color:(hex value)
。它有效,但我希望颜色合并在一起,以获得更多的彩虹效果。这可能吗?这是我目前的职能:
public static string Rainbow(string text)
{
int numColors = 1000;
var colors = new List<string>();
var random = new Random();
for (int i = 0; i < numColors; i++)
{
colors.Add(String.Format("#{0:X6}", random.Next(0x1000000)));
}
string rainbow = "";
int index = 0;
foreach (char c in text)
{
rainbow += String.Format("<span style='color: {0};'>{1}</span>", colors[index], c.ToString());
if (index > numColors)
index = 0;
else
index++;
}
return rainbow;
}
答案 0 :(得分:1)
简单;不要使用Random
!
这样的事情可能会帮助你开始:
for (int i = 0; i < 256; i++)
{
colors.Add(String.Format("#{0:X2}{1:X2}00", i, 255-i));
}
以255步从绿色变为红色。
HTH!
答案 1 :(得分:1)
您可以使用hsv转换rgb功能。在这里您可以找到描述: