我使用SQLite Datatabase
来存储Windows 8 Store App
中开发的C# and XAML
数据。
现在我正在寻找一种简单的方法来存储一个Color
对象,该对象应该在此数据库中用作XAML Color
( Windows.UI.Color )。
所以我想我必须在这种情况下将Color
对象转换为字符串或整数!
我可以使用Color
方法将ToString()
转换为字符串表示形式但是如何将其转换回来?
答案 0 :(得分:2)
对此的解决方案是将ARGB字节值存储在数据库中,然后您可以使用Color.FromArgb(a, r, g, b)
方法从这些存储的字节值中获取颜色。
http://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.color.fromargb
答案 1 :(得分:2)
我正在尝试以下答案来帮助你。
假设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);