16進カラー値からSolidColorBrushを作成する 質問する

16進カラー値からSolidColorBrushを作成する 質問する

#ffaacc などの 16 進値から SolidColorBrush を作成したいです。どうすればいいでしょうか?

MSDN では、次のようになりました:

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

そこで私は次のように書きました(私のメソッドは色を次のように受け取ることを考慮して#ffaacc)。

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

しかし、これはエラーを引き起こしました

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

また、次の 3 つのエラーもあります。Cannot convert int to byte.

しかし、MSDN の例はどのように機能するのでしょうか?

ベストアンサー1

代わりにこれを試してください:

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

おすすめ記事