150 votes

La création de SolidColorBrush de couleur hexadécimale de la valeur

Je veux créer SolidColorBrush de valeur Hexadécimale (#ffaacc. Comment puis-je faire cela?

Sur MSDN, j'ai eu :

SolidColorBrush mySolidColorBrush = new SolidColorBrush();
mySolidColorBrush.Color = Color.FromArgb(255, 0, 0, 255);

J'ai donc écrit (compte tenu de ma méthode reçoit de la couleur comme d' #ffaacc):

Color.FromRgb(
  Convert.ToInt32(color.Substring(1, 2), 16), 
  Convert.ToInt32(color.Substring(3, 2), 16), 
  Convert.ToInt32(color.Substring(5, 2), 16));

Mais cela a donné d'erreur comme

The best overloaded method match for 'System.Windows.Media.Color.FromRgb(byte, byte, byte)' has some invalid arguments

Aussi 3 erreurs: Cannot convert int to byte.

Mais alors, comment MSDN exemple fonctionne?

393voto

Chris Ray Points 1240

Essayez plutôt ceci:

(SolidColorBrush)(new BrushConverter().ConvertFrom("#ffaacc"));

17voto

GJHix Points 308

Comment obtenir la Couleur de Hex code de couleur à l'aide .NET?

Je pense que c'est ce que vous êtes après, espérons que cela répond à votre question.

Pour obtenir votre code pour utiliser Convertir.ToByte au lieu de les Convertir.ToInt...

string colour = "#ffaacc";

Color.FromRgb(
Convert.ToByte(colour.Substring(1,2),16),
Convert.ToByte(colour.Substring(3,2),16),
Convert.ToByte(colour.Substring(5,2),16));

11voto

Mahesha999 Points 2334
        using System.Windows.Media;

        byte R = Convert.ToByte(color.Substring(1, 2), 16);
        byte G = Convert.ToByte(color.Substring(3, 2), 16);
        byte B = Convert.ToByte(color.Substring(5, 2), 16);
        SolidColorBrush scb = new SolidColorBrush(Color.FromRgb(R, G, B));
        //applying the brush to the background of the existing Button btn:
        btn.Background = scb;

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X