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") ;
Use
System.Drawing.Color.FromArgb(myHashCode);
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.