gpt4 book ai didi

c# - 如何为给定字符串生成 "random constant colour"?

转载 作者:行者123 更新时间:2023-11-30 15:24:18 25 4
gpt4 key购买 nike

如何在运行时为给定字符串生成“随机常量颜色”?

因此,给定的字符串值将始终具有相同的颜色,但不同的字符串将具有不同的颜色。

就像 gmail 如何为发件人姓名分配颜色一样。

谢谢

评论回复:

  1. 考虑从哈希码生成颜色。
  2. 颜色不会被存储,而是从哈希码生成。

最佳答案

我不知道有什么专门的方法,但这里有一个简单的方法,可以根据给定的字符串使用 MD5 生成十六进制值:

using System.Security.Cryptography;
using System.Text;


static string GetColor(string raw)
{
using (MD5 md5Hash = MD5.Create())
{
byte[] data = md5Hash.ComputeHash(Encoding.UTF8.GetBytes(raw));
return BitConverter.ToString(data).Replace("-", string.Empty).Substring(0, 6);
}
}

例子:

  1. example@example.com

    -> 23463B

  2. info@google.com

    -> 3C9015

  3. stack@exchange.com

    -> 7CA5E8

编辑:

我没有对其进行充分测试,因此您可能需要稍微调整一下以获得更多不同且独特的值。

编辑2:

如果您想要透明度,请查看 this问题/答案。通过将 Substring 设置为 Substring(0,8) ,您应该返回一个带有 alpha channel 的字符串。

关于c# - 如何为给定字符串生成 "random constant colour"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32994376/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com