.net colors parsing hex system.drawing.color

.net - Cómo crear un System.Drawing.Color a partir de su secuencia RGB hexadecimal?



colors parsing (6)

Quiero crear un System.Drawing.Color partir de un valor como #FF00FF o FF00FF sin necesidad de escribir código para eso. ¿Hay algún analizador incorporado de .NET para eso?


El método FromName funcionó para mí

System.Drawing.Color.FromName("#FF00FF");


Es bastante fácil cuando usa Convert-Class . La función ToInt32 tiene una sobrecarga con un segundo parámetro que representa la base en la que se encuentra la cadena.

using System.Drawing Color yourColor = Color.FromARGB(Convert.ToInt32("FF00FF", 16));


Puede utilizar el método estático System.Drawing.ColorTranslator FromHtml.

utilizar:

System.Drawing.ColorTranslator.FromHtml("#FFFFFF");


Si el color que desea usar es una constante, en C # use System.Drawing.Color.FromArgb (0xFF00FF) . Eso es ligeramente más rápido que System.Drawing.Color.FromName o System.Drawing.Color.FromHtml , ya que el análisis de una cadena a un entero se realiza en tiempo de compilación en lugar de en tiempo de ejecución.


Use la clase ColorConverter :

var converter = System.ComponentModel.TypeDescriptor.GetConverter( typeof( Color ) ); color = converter.ConvertFromString( "#FF00FF" );

Esto también puede convertirse a partir de los colores con nombre estándar, por ejemplo, ConvertFromString ("Azul")

Vea here para una discusión de los mecanismos de conversión de tipo .NET estándar.


ColorTranslator.FromHtml("#FF00FF");