2012-08-28 4 views
77

することが可能に重複を進#FFFFFFを変換するには:
How to get Color from Hex color code using .NET?はどのようにSystem.Drawing.Color

は私が#FFFFFFようSystem.Drawing.Colorに文字列を変換したいです。あなたはどうやってそれをしますか?

+0

http://stackoverflow.com/questions/2109756/how-to-get-color- from-hex-color-code-using-net –

+1

投票を再開するには、dup質問は異なるタイプのColor構造を扱います。 – gunr2171

答えて

185
string hex = "#FFFFFF"; 
Color _color = System.Drawing.ColorTranslator.FromHtml(hex); 

注意ください:ハッシュが重要です!

あなたが

var color = System.Drawing.ColorTranslator.FromHtml("#FFFFFF"); 

またはこの(あなたが必要となりますSystem.Windows.Media名前空間)を行うことができます

+0

ありがとうございます。それは動作します – user1531040

+0

ハッシュは本当に重要で、他の色は正確ではありません。 – teapeng

+1

System.Drawing名前空間がないUWPはどうですか? –

4

'#' を削除し、

Color c = Color.FromArgb(int.Parse("#FFFFFF".Replace("#",""), 
         System.Globalization.NumberStyles.AllowHexSpecifier)); 
+0

数値に変換する必要のないオプションがありますが、これは不要なステップです。 OPはそれが文字列であることを示します – freefaller

+2

他の解決策も文字列を数値に変換しています、彼らは内部でそれをやっています。これが最適化の問題であれば、 'ColorConvertor.ConvertFromString()'と 'ColorTranslator.FromHtml()'と比較して 'Color.FromArgb()'/int.Parse() 。 – jwatts1980

+0

アルファ値が0になりませんか? – Nyerguds

21

var color = (Color)ColorConverter.ConvertFromString("#FFFFFF"); 
+0

私は白を変換するとき、私は正確に白い色を得ない。 –