En C#, ¿cómo puedo crear un objeto System.Drawing.Color utilizando un valor hexadecimal?
.net colors (4)
¿Puedes cambiar los valores para comenzar con FF? Por ejemplo, FFFFFFFF = blanco. Esto es para agregar el valor alfa al principio.
Si es así, simplemente analice el valor con System.Drawing.Color.FromArgb
. Toma un int
donde los primeros 8 bits son el valor alfa. 255 es opaco.
Para convertir su cadena en un int, use Int32.Parse. P.ej
String HexColourValue = "FABFAB";
System.Drawing.Color colour = System.Drawing.Color.FromArgb(Int32.Parse("FF"+HexColourValue,
System.Globalization.NumberStyles.HexNumber));
Asegúrese de que HexColourValue
no tenga ''#'' en él.
Esta pregunta ya tiene una respuesta aquí:
En C #, ¿Cómo puedo crear un objeto System.Drawing.Color con un valor como este # FFFFF, # FGFG01, etc.?
var my col = Color.FromArgb (int x);
tenga en cuenta que también necesita especificar un valor alfa (probablemente desee FF para esto, es decir, completamente opaco, así que agregue 0xFF000000 al valor hexadecimal de color)
string hexValue = "#000000"; // You do need the hash
Color colour = System.Drawing.ColorTranslator.FromHtml(hexValue); // Yippee
Edición: realmente necesita el hash, o el valor alfa no se tendrá en cuenta. Woops!
Color.FromArgb(Convert.ToInt32( str.Substring(1), 16 ));