gpt4 book ai didi

c# - 生成除黑色之外的随机颜色

转载 作者:太空宇宙 更新时间:2023-11-03 14:50:23 25 4
gpt4 key购买 nike

我在我的 Xamarin 项目中使用这种方法来生成随机颜色

Random random = new Random();
public string BoColor
{
get
{
return String.Format("#{0:X6}", random.Next(0x808080) & 0x7E7E7E);
}
}

但我希望生成没有黑色的颜色,在这方面的帮助将不胜感激。

预先感谢您的支持。

最佳答案

要扩展@Gaurang Dave 所说的内容,您可以使用IsAlmostBlack(string color) 设置您自己的阈值:

    private static string GenerateColor()
{
Random random = new Random();
string color;
do
{
color = $"#{random.Next(0x808080) & 0x7E7E7E:X6}";
}
while (IsAlmostBlack(color));

return color;
}

private static bool IsAlmostBlack(string color)
{
// #XX0000
int red = int.Parse(color.Substring(1, 2), NumberStyles.HexNumber);
// #00XX00
int green = int.Parse(color.Substring(3, 2), NumberStyles.HexNumber);
// #0000XX
int blue = int.Parse(color.Substring(5, 2), NumberStyles.HexNumber);

// Checks if all values are under a certain value (here 50[decimal])
return red < 0x32 && green < 0x32 && blue < 0x32;
}

当然你也可以使用小数:

        // Checks if all values are under a certain value (here 50[decimal])
return red < 50 && green < 50 && blue < 50;

关于c# - 生成除黑色之外的随机颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52033068/

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