1

で開発しSQLite Datatabaseたデータを保存するためにを使用しています。Windows 8 Store AppC# and XAML

そして今、このデータベースでColorXAML Color( Windows.UI.Color ) として使用するオブジェクトを格納する簡単な方法を探しています。その場合、オブジェクトを文字列または整数に変換するColor必要があると思います!?

Colorメソッドを使用して文字列表現に変換ToString()できますが、どうすれば元に戻すことができますか?

4

2 に答える 2

2

これに対する解決策は、ARGB バイト値をデータベースに保存することです。その後、このColor.FromArgb(a, r, g, b)メソッドを使用して、保存されたバイト値から色を取得できます。

http://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.color.fromargb

于 2013-02-21T17:24:51.383 に答える
2

私はあなたを助けるために私の次の答えを試しています。

  1. #659EBCF5 などの ColorObject.ToString() 値を保存したいとします。
  2. varchar aka string として SqLite に自由に保存してください。
  3. 必要な場合は、SqLite から読み取り、colorString などの変数に格納します。

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);
于 2013-02-24T16:49:13.423 に答える