Подтвердить что ты не робот

В С#, Как я могу создать объект System.Drawing.Color, используя шестнадцатеричное значение?

В С#, как я могу создать объект System.Drawing.Color, используя значение, подобное этому: # FFFFF, # FGFG01 и т.д.

4b9b3361

Ответ 1

string hexValue = "#000000"; // You do need the hash
Color colour = System.Drawing.ColorTranslator.FromHtml(hexValue); // Yippee

Изменить: Вам действительно нужен хеш, или альфа-значение не будет учитываться. Woops!

Ответ 2

var my col = Color.FromArgb(int x);

обратите внимание, что вам нужно также указать значение альфа (возможно, для этого требуется FF, то есть полностью непрозрачный, поэтому добавьте 0xFF000000 в шестнадцатеричное значение цвета)

Ответ 3

Можете ли вы изменить значения, чтобы начать с FF? Например. FFFFFFFF = белый. Это означает, что значение альфа-значения начиналось с начала.

Если это так, просто проанализируйте значение с помощью System.Drawing.Color.FromArgb. Требуется int, где первые 8 бит являются альфа-значением. 255 непрозрачен.

Чтобы преобразовать вашу строку в int, используйте Int32.Parse. Например.

String HexColourValue = "FABFAB";
System.Drawing.Color colour = System.Drawing.Color.FromArgb(Int32.Parse("FF"+HexColourValue,
                              System.Globalization.NumberStyles.HexNumber));

Убедитесь, что HexColourValue не имеет в нем "#".

Ответ 4

Color.FromArgb(Convert.ToInt32( str.Substring(1), 16 ));