16進数のRGB文字列からSystem.Drawing.Colorを作成するにはどうすればよいですか?


回答:



62

System.Drawing.ColorTranslator静的メソッドFromHtmlを使用できます。

使用する:

System.Drawing.ColorTranslator.FromHtml("#FFFFFF");

18

Convert-Classを使用すると、かなり簡単です。このToInt32関数には、文字列のベースを表す2番目のパラメーターを持つオーバーロードがあります。

using System.Drawing

Color yourColor = Color.FromARGB(Convert.ToInt32("FF00FF", 16));

9

ColorConverterクラスを使用します

var converter = System.ComponentModel.TypeDescriptor.GetConverter( typeof( Color ) );
color = converter.ConvertFromString( "#FF00FF" );

これは、ConvertFromString( "Blue")などの標準の名前付き色から変換することもできます。

標準の.NET型変換メカニズムの説明については、ここを参照してください。


1

使用する色が一定の場合、C#では System.Drawing.Color.FromArgb (0xFF00FF)。文字列から整数への解析は実行時ではなくコンパイル時に行われるため、これはSystem.Drawing.Color.FromNameまたはよりもわずかに高速ですSystem.Drawing.Color.FromHtml


0

FromNameメソッドは私のために働いた

System.Drawing.Color.FromName("#FF00FF");
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.