C# と VB.NET の質問掲示板
ASP.NET、C++/CLI、Java 何でもどうぞ
C# と VB.NET の入門サイト
Re[3]: Color構造体を#000000形式の文字列に変換したい
(過去ログ 81 を表示中)
掲示板トップ
C# と VB.NET 入門
新規作成
利用方法/規約
トピック表示
ランキング
記事検索
過去ログ
[トピック内 6 記事 (1 - 6 表示)] <<
0
>>
■48290
/ inTopicNo.1)
Color構造体を#000000形式の文字列に変換したい
▼
■
□投稿者/ ユースケ
(1回)-(2010/03/31(Wed) 21:36:43)
分類:[VB.NET/VB2005 以降]
VB2008使用
こんにちは。
Color構造体の内容より、HTMLで使用する色コードの文字列を取得したいのです。
たとえば、Blackの場合は"#000000"、Whiteの場合は"#FFFFFF"といった具合です。
質問は、以下の通りです。
・Color構造体のR, G, Bの値を16進数に変換し、結合すればいいのですが、
変換にHex関数を使うと、Hex(255)は"FF"となるのでいいのですが、
Hex(0)とすると、"0"となります。この場合は"00"という値がほしいのですが、
必ず2桁の16進数を取得するにはどうすればよいでしょうか?
・上記の方法で"#000000"形式の色コードを出せると思いますが、
もっと簡単にこれを表示する方法はありますでしょうか?
よろしくお願いします。
引用返信
編集キー/
編集
■48291
/ inTopicNo.2)
Re[1]: Color構造体を#000000形式の文字列に変換したい
▲
▼
■
□投稿者/ なちゃ
(417回)-(2010/03/31(Wed) 21:54:54)
System.Web.dllにある、System.Web.UI.WebControls.WebColorConverter を使うという手もなくはないです。
引用返信
編集キー/
編集
■48292
/ inTopicNo.3)
Re[1]: Color構造体を#000000形式の文字列に変換したい
▲
▼
■
□投稿者/ 魔界の仮面弁士
(1591回)-(2010/03/31(Wed) 21:56:12)
■
No48290
(ユースケ さん) に返信
> Color構造体の内容より、HTMLで使用する色コードの文字列を取得したいのです。
ColorTranslator.ToHtml( c ) あるいは
ColorTranslator.ToHtml(Color.FromArgb( c.ToArgb() )) で。
> Hex(0)とすると、"0"となります。この場合は"00"という値がほしいのですが、
> 必ず2桁の16進数を取得するにはどうすればよいでしょうか?
Dim r As Byte = 0
Dim s As String = r.ToString("x2") '大文字なら X2
引用返信
編集キー/
編集
■48295
/ inTopicNo.4)
Re[2]: Color構造体を#000000形式の文字列に変換したい
▲
▼
■
□投稿者/ 魔界の仮面弁士
(1592回)-(2010/03/31(Wed) 22:12:00)
■
No48292
(魔界の仮面弁士) に追記
>>Color構造体の内容より、HTMLで使用する色コードの文字列を取得したいのです。
> ColorTranslator.ToHtml( c ) あるいは
> ColorTranslator.ToHtml(Color.FromArgb( c.ToArgb() )) で。
後者では、常に "#000000" 形式で得られますが、
前者は、必ずしも "#000000" 形式になるとは限りません。
HTML 的には <font color="Black"> のような表記も認められるため、
16進数ではなく色名で返される事もあります。
たとえば、Color.LightGray を変換した場合、
後者は "#D3D3D3" となりますが、
前者は "LightGrey" となります(≠"LightGray")。
なお、SystemColors から得た色の場合、前者の結果(色名)と後者の結果(RGB値)は
違う色を意味します。
たとえば、SystemColors.Control を変換した場合、
前者では "buttonface" という文字列となりますが、
後者では、現在の OS 設定に基づく RGB 値に変換されます。
http://goodsearch.jp/ut3/color3.html
HTML をブラウザで表示させている場合、それがシステムカラー名で指定されていれば、
OS の画面設定を変更すると、その要素の色もそれに応じて変わってくれますし、
#000000 形式で指定された場合には、OS 設定に依存せず、常に同じ色で表示されます。
引用返信
編集キー/
編集
■48299
/ inTopicNo.5)
Re[2]: Color構造体を#000000形式の文字列に変換したい
▲
▼
■
□投稿者/ なちゃ
(418回)-(2010/04/01(Thu) 01:39:53)
■
No48291
(なちゃ さん) に返信
> System.Web.dllにある、System.Web.UI.WebControls.WebColorConverter を使うという手もなくはないです。
あーすみません、これはなしで。
ColorTranslatorの方がいいです、
引用返信
編集キー/
編集
■48301
/ inTopicNo.6)
Re[3]: Color構造体を#000000形式の文字列に変換したい
▲
▼
■
□投稿者/ ユースケ
(2回)-(2010/04/01(Thu) 05:23:17)
ワー みなさんありがとうございました。
とても勉強になります。
解決済み
引用返信
編集キー/
編集
トピック内ページ移動 / <<
0
>>
このトピックに書きこむ
過去ログには書き込み不可
管理者用
-
Child Tree
-