C# で「RED」などの入力文字列を実際のカラー タイプに変換する方法という問題が発生していますColor.Red
。これを行う良い方法はありますか?
各カラー タイプに対して switch ステートメントと cases ステートメントを使用することも考えられますが、それだけでは十分ではないと思います。
ベストアンサー1
Color red = Color.FromName("Red");
MSDN では特に言及されていないため、大文字と小文字が区別される可能性が高くなります。(更新: どうやら、区別されないようです。)
私の知る限り、ColorTranslator.FromHtml
そうです。
一致するものが見つからない場合はColor.FromName
、new 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);