如何将System.Drawing.Brush转换为字符串

时间:2016-02-05 14:19:14

标签: c#

我找不到任何正确的解决方案

string colorName = ...converting... Brushes.Brown;

So colorName  should have 'Brown'

有可能吗?

2 个答案:

答案 0 :(得分:1)

我似乎找到了办法。

public string GetColorName(Brush brush)
        {
            string name = "Unknown";
            Color c = new Pen(brush).Color;

            foreach (KnownColor kc in Enum.GetValues(typeof(KnownColor)))
            {
                Color known = Color.FromKnownColor(kc);
                if (c.ToArgb() == known.ToArgb())
                {
                    name = known.Name;
                    break;
                }
            }

            return name;
        }

答案 1 :(得分:1)

要获得所需的结果,您可以使用:

string colorName = nameof(Brushes.Brown);

现在colorName的值应为'Brown'