C#で文字列を色に変換する 質問する

C#で文字列を色に変換する 質問する

C# で「RED」などの入力文字列を実際のカラー タイプに変換する方法という問題が発生していますColor.Red。これを行う良い方法はありますか?

各カラー タイプに対して switch ステートメントと cases ステートメントを使用することも考えられますが、それだけでは十分ではないと思います。

ベストアンサー1

 Color red = Color.FromName("Red");   

MSDN では特に言及されていないため、大文字と小文字が区別される可能性が高くなります。(更新: どうやら、区別されないようです。)

私の知る限り、ColorTranslator.FromHtmlそうです。

一致するものが見つからない場合はColor.FromNamenew Color(0,0,0);

一致するものが見つからない場合はColorTranslator.FromHtml例外がスローされます。

アップデート:

Microsoft.Xna.Framework.Graphics.Color を使用しているため、少し複雑になります。

using XColor = Microsoft.Xna.Framework.Graphics.Color;
using CColor = System.Drawing.Color;

 CColor clrColor = CColor.FromName("Red"); 
 XColor xColor = new XColor(clrColor.R, clrColor.G, clrColor.B, clrColor.A);

おすすめ記事