【问题标题】:How to get the hex color code from a color dialog in visual studio? [duplicate]如何从 Visual Studio 的颜色对话框中获取十六进制颜色代码? [复制]
【发布时间】:2018-08-23 02:33:04
【问题描述】:

我在 Visual Studio 中有一个颜色对话框,我目前正在使用这个 c# 代码来显示颜色对话框并将颜色设置为面板:

private void ColorButton_Click(object sender, EventArgs e)
{
    if (colorDialog1.ShowDialog() == DialogResult.OK)
    {
        ColorPanel.BackColor = colorDialog1.Color;
    }
}

如何将标签设置为颜色选择器的十六进制颜色代码?

【问题讨论】:

  • 比我早 1 秒...
  • ColorTranslator.ToHtml(colorDialog1.Color);

标签: c# visual-studio-2015 color-picker


【解决方案1】:

你可以试试这个

  1. 获取颜色的ARGB(Alpha、Red、Green、Blue)表示
  2. 过滤掉Alpha频道:& 0x00FFFFFF
  3. 将值格式化为十六进制 ("X6")

实施

  String code = (colorDialog1.Color.ToArgb() & 0x00FFFFFF).ToString("X6");

编辑:如果你想从code 得到Color 返回,试试FromArgb

  string code = "FFDDAA";

  Color color = Color.FromArgb(Convert.ToInt32(code, 16));

【讨论】:

  • 您也应该在重复标记的答案中发布该答案
  • @fubo:我明白了,谢谢!我也发布了(改编)重复问题的答案。
  • 任何人都知道如何扭转这个?从 HEX 到 Color?
  • @Mark:试试Color.FromArgbConvert.ToInt32(见我的编辑)
  • @DmitryBychenko 无法让它工作。 System.Drawing.ColorTranslator.FromHtml("#000000"); 是我最终使用的。
猜你喜欢
  • 2011-10-25
  • 2020-06-14
  • 1970-01-01
  • 1970-01-01
  • 2021-12-31
相关资源
最近更新 更多