我正在使用 aSQLite Datatabase
来存储我Windows 8 Store App
开发的数据C# and XAML
。
现在我正在寻找一种简单的方法来存储Color
应该用作此数据库中的 XAML Color
( Windows.UI.Color ) 的对象。所以我认为在这种情况下我必须将Color
对象转换为字符串或整数!?
我可以将Color
withToString()
方法转换为字符串表示形式,但如何将其转换回来?
我正在使用 aSQLite Datatabase
来存储我Windows 8 Store App
开发的数据C# and XAML
。
现在我正在寻找一种简单的方法来存储Color
应该用作此数据库中的 XAML Color
( Windows.UI.Color ) 的对象。所以我认为在这种情况下我必须将Color
对象转换为字符串或整数!?
我可以将Color
withToString()
方法转换为字符串表示形式,但如何将其转换回来?
我正在尝试使用以下答案来帮助您。
假设 colorString = "#659EBCF5";
...
colorString = colorString.Substring(1, colorString.Length - 1);//remove the #
System.Globalization.NumberStyles style = System.Globalization.NumberStyles.HexNumber;
int hexColorAsInteger = int.Parse(colorString , style);
byte[] colorData = BitConverter.GetBytes(hexColorAsInteger);
//Mind the order.
byte alpha = colorData[3];
byte red = colorData[2];
byte green = colorData[1];
byte blue = colorData[0];
Color color = Color.FromArgb(alpha, red, green, blue);
对此的解决方案是将 ARGB 字节值存储在数据库中,然后您可以使用该Color.FromArgb(a, r, g, b)
方法从这些存储的字节值中获取颜色。
http://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.color.fromargb