Сохранение цвета в виде целого числа (в БД)

1

Я использую WPF Color Picker, который возвращает цвет. Однако я борюсь с тем, как сохранить этот цвет как целое число и загрузить в базу данных. Я нашел несколько решений, никто из них не работал, и все они были довольно сложными (и старыми). Надеюсь, есть более новое, более элегантное решение. Заранее спасибо

  • 0
    Вы имеете в виду сохранение значения RGBA как int? так как 255,255,255,255 будет 255255255255?
  • 0
    Например, мне просто нужно сохранить значение в БД, а затем загрузить его и использовать для цветов шрифта.
Показать ещё 6 комментариев
Теги:
type-conversion
colors

1 ответ

0

Я бы рекомендовал использовать шестнадцатеричный код только для int значений RGB.

Этот следующий код взят отсюда и принадлежит пользователю @AriRoth

private static String HexConverter(System.Drawing.Color c)
{
    return "#" + c.R.ToString("X2") + c.G.ToString("X2") + c.B.ToString("X2");
}

Этот метод должен преобразовать ваш цвет в строку шестнадцатеричного кода. Затем вы можете сохранить это в своей базе данных. Если вы планируете использовать их для целей CSS позже, для этого будет достаточно шестнадцатеричного кода. Если вам по какой-то причине нужно преобразовать шестнадцатеричный обратно в цветной объект, вы можете использовать

using System.Windows.Media;

Color color = (Color)ColorConverter.ConvertFromString(YourHexCodeHere);
  • 0
    Спасибо, поэтому БД должна хранить varchar вместо int, верно?
  • 0
    @ user970696 извините пришлось уйти с работы вскоре после публикации. да, тип в БД может быть varchar или char, в любом случае. Если этот ответ помог, не стесняйтесь высказаться / принять его.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню