gpt4 book ai didi

c# - 为什么 System.Drawing.Color 将 'ff' 添加到十六进制代码中?

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

我有一个颜色 #cccc00,我从数据库中检索它,并用来绘制控件的背景。

因为我不知道字符串是十六进制还是颜色名称(即。黄色#cccc00),我检查了字符串,比如所以:

string color = "#cccc00";
if (color.IndexOf('#') >= 0)
{
Color _color = System.Drawing.ColorTranslator.FromHtml(color);
buttonSelector.BackColor = _color;
// _color.Name now equals ffcccc00
}

这很好用。问题是我还使用该字符串(颜色)来搜索 sql 表。问题是 _color.Name 返回 ffcccc00,因此搜索不会返回任何内容,因为 sql 表将其作为 #cccc00

因此,无需通过删除/替换 ff 来更改字符串,有没有办法以我用来设置控件背景色的相同格式检索值?我不喜欢删除/替换,因为它可以使用十六进制或实际颜色名称。

谢谢。

最佳答案

第一个字节(在您的例子中是 FF)表示颜色透明度。其他三个字节描述颜色,具体取决于编码,例如可以是 RGB。

所以代码FF FFFFFF,显示FFFFFF颜色的透明度

其中 FF 代表最浓的颜色,而 00 代表完全透明。

关于c# - 为什么 System.Drawing.Color 将 'ff' 添加到十六进制代码中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38108156/

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