1. ホーム
  2. wpf

[解決済み] 16進数の色値からSolidColorBrushを作成する

2022-05-15 12:16:23

質問

16進数の値(#ffaaccなど)から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 の例ではどのように動作するのでしょうか?

どのように解決するのでしょうか?

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

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