DOBON.NET DOBON.NETプログラミング掲示板過去ログ

10進数色情報をColor変数に・・・

環境/言語:[XP/C#/1.1]
分類:[.NET]

いつも大変お世話になっております。<(_ _)>

色数値が10進数で入ってくる色情報(int c_hoge)をColor型変数(color)に突っ込みたいのですが、
この場合、

1.c_hogeを16進数に変換する。
Convert.ToInt32(c_hoge, 16) ;
2.変換したc_hogeを元にHTMLColorにする
string hc_hoge = "#" + c_hoge.toString() ;
3.Color型変数に突っ込む
color = ColorTranslator.FromHtml(hc_hoge) ;

な感じになるのでしょうか・・・・

c_hogeには 16777215 の形で入ってくるのですが、うまくColorに突っ込むことができません。。
ご教授よろしくお願い致します<(_ _)>
> c_hogeには 16777215 の形で入ってくるのですが、

「16777215 の形」とありますが、この値の各バイトの意味付けはどうなっていますか?
16進数で表すとFFFFFFとなりますが、1バイト目、2バイト目、3バイト目が
R、G、Bのどれに相当しますか?という意味です。
データの構造がHTMLの色表現と同じ並びであれば、
ColorTranslator.FromHtmlを使うのでよいでしょうけど、そうでなければ、
FromHtmlメソッドではダメですね。

また、R、G、Bに数値を分解してしまえば、Color.FromArgbでもOKでしょう。

> うまくColorに突っ込むことができません。。

例外が発生するのか?
期待した色にならないのか?
どんなソースコードを書いたのか?
が不明ですので、どう「うまくいかない」のかがわかりません。

DOBON.NET | プログラミング道 | プログラミング掲示板