如何区分 "Black" 和 "ActiveCaptionText"

How to differentiate between "Black" and "ActiveCaptionText"

void Main()
{
    (Color.FromName("Black").ToArgb() == Color.FromName("ActiveCaptionText").ToArgb()).Dump();
    //                           TRUE ^
}

这是在LINQPad中运行的一段代码。 有没有办法区分这两种颜色?

上下文:我收到了他们 int 表示中的颜色。例如 Black-16777216。我使用来自 System.Drawing 命名空间 KnownColor 的枚举来获取它的名称。

如果要获取给定颜色值的名称,请使用 ColorTranslator class which uses an internal known color table to set the Name property of the Color 结构。

例子

Console.WriteLine(Color.FromArgb(-16777216).Name);

// Prints: ff000000
// Whereas...

Console.WriteLine(ColorTranslator.FromWin32(-16777216).Name);

// Prints: Black