2011-10-21 19 views
1

文字列をヘキサに変換してから.Netカラーに変換する方法はありますか?文字列を16進数に変換する方法は?

色の文字列、たとえば黒をHexa '#000000'に変換する方法を知りたいですか?

すなわち私の入力が「黒」であれば、私は"#000000"

私の問題がある返す必要があります:

私は色を設定し、オブジェクトにその名前を格納しています。したがって、白い場合、オブジェクトは「白」を維持しますが、特定のシェードでは名前をf12a12(例)にしています。私はこのような文字列を "0x"に追加し、それはcolortranslatorでうまくいきました。 Colorオブジェクトの通常の色の場合、これを追加したくありません。私は色を検索する文字列を作ることができますが、私はこれを行うための他の方法があるかどうかを知りたいですか?

+0

#ffffffは白の16進コードです。 – geekchic

+0

が#000000に変更されました –

+0

申し訳ありません、私の間違い – NewBie

答えて

0

で色の名前からHEXを取得する方法はありません。ルックアップテーブルを作成して、色の名前とその色のHEXを保持する必要があります。それでは、その色の16進数を得ることができます。

あなたの解決策についてはわかりませんが、正しい色のRGB値を得るためには、その色の16進数を持つ必要があります。

0
ColorTranslator.FromHtml( "#ffffff") 
1
Color c = Color.Black; 
string strColor = System.Drawing.ColorTranslator.ToHtml(c); 
//returns 000000 

編集:

Color c = System.Drawing.ColorTranslator.FromHtml("#000000"); 
+0

どうやって逆にすることができますか?すなわち000000を与えて黒を返す – NewBie