wpf – 如何将System.Windows.Media.Color对象序列化到sRGB字符串?

前端之家收集整理的这篇文章主要介绍了wpf – 如何将System.Windows.Media.Color对象序列化到sRGB字符串?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要将 WPF应用程序中使用的颜色序列化到数据库.我想使用sRGB的值,因为他们比较熟悉我们过去几年在Web开发中花费的时间.

如何从System.Windows.Media.Color对象获取ARGB字符串(如#FFFFFFFF)?

更新:我被MSDN上的文档误导了.正如@Kris在下面所述,ToString()方法的文档是不正确的.虽然它表示ToString()“使用ScRGB通道创建颜色的字符串表示”,但如果使用FromARGB()方法创建了颜色,它将实际返回ARGB十六进制格式的字符串.这是一个无证的功能,我想.

http://msdn.microsoft.com/en-us/library/ms606572.aspx

如果您使用Color.FromRgb或Color.FromArgb而不是FromScRgb创建颜色,则应该从ToString获取十六进制字符串结果.

如果你想手动做

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

你可以使用int.Parse(,NumberStyles.HexNumber)去另一种方式.

注意sRGB和scRGB指的是不同的颜色空间,确保使用你想要的颜色空间.

猜你在找的Windows相关文章