そのためのコードを書く必要のないSystem.Drawing.Color
、#FF00FF
またはそのような値からを作成したいと思いますFF00FF
。そのための.NET組み込みパーサーはありますか?
回答:
ColorTranslator.FromHtml("#FF00FF");
Convert-Classを使用すると、かなり簡単です。このToInt32
関数には、文字列のベースを表す2番目のパラメーターを持つオーバーロードがあります。
using System.Drawing
Color yourColor = Color.FromARGB(Convert.ToInt32("FF00FF", 16));
ColorConverterクラスを使用します。
var converter = System.ComponentModel.TypeDescriptor.GetConverter( typeof( Color ) );
color = converter.ConvertFromString( "#FF00FF" );
これは、ConvertFromString( "Blue")などの標準の名前付き色から変換することもできます。
標準の.NET型変換メカニズムの説明については、ここを参照してください。