如何将ARGB转换为十六进制aarrggbb格式?

3
我尝试使用这段代码:
string ToHtml(System.Drawing.Color color)
    {
        return string.Concat("#", (color.ToArgb() & 0x00FFFFFFFF).ToString("X8"));
    }

但是 System.Media.Color 似乎没有 toargb() 方法。然后我尝试了这段代码:
string ToHtml(System.Drawing.Color color)
    {
        return ColorTranslator.ToHtml(color);//.FromHtml("#FFDFD991");
    }

但是在Windows Phone中不存在ColorTranslator。有人可以帮我吗?非常感谢!

你尝试过按组件进行操作并连接字符串吗? - ssube
1
你可以将 Color每个 组件的 ToString("X2") 的结果连接在一起。 - Oded
哇!!!谢谢!!!我不太喜欢十六进制(我不喜欢它),所以我不知道这个技巧。 - Cippo
好的,在你的例子中,你已经有了X8作为格式字符串 - 这并不需要更多的努力。 - Oded
1个回答

9
return string.Format("#{0:X2}{1:X2}{2:X2}{3:X2}",
                     color.A,
                     color.R,
                     color.G,
                     color.B);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接