Como posso obter a cor de um código de cor hexadecimal usando .NET?

Como posso obter uma cor a partir de um código de cor hexadecimal (por exemplo #FFDFD991)?

Estou a ler um ficheiro e estou a receber um código de cor hexadecimal. Eu preciso criar o correspondente System.Windows.Media.Color exemplo para o código de cor hexadecimal. Existe um método inbuilt no framework para fazer isso?

Assumindo que você se refere aos códigos RGB do tipo HTML (chamados códigos Hex, como #FFCC66), use a classe ColorTranslator:

System.Drawing.Color col = System.Drawing.ColorTranslator.FromHtml("#FFCC66");

Se, no entanto, você estiver usando um código hexadecimal ARGB, você pode usar a classe ColorConverter do espaço de nomes System.Windows.Media:

Color col = ColorConverter.ConvertFromString("#FFDFD991") as Color;
//or      = (Color) ColorConverter.ConvertFromString("#FFCC66") ;
Comentários (0)

Use

System.Drawing.Color.FromArgb(myHashCode);
Comentários (2)

Se você quer dizer HashCode como em .GetHashCode(), I'm afraid you can't go back. As funções Hash não são bidirecionais, você pode ir 'forward' apenas, não voltar.

Siga a sugestão de Oded's se você precisar obter a cor baseada no valor hexadecimal da cor.

Comentários (2)