- PR -

色指定で迷っています

投稿者投稿内容
豪雪地帯
常連さん
会議室デビュー日: 2004/06/08
投稿数: 34
投稿日時: 2004-12-20 15:57
HTMLではキーワード指定(例えばBlackなどと指定)の16色が定義されています。
また、VS.NETでは、labelのプロパティなどのbackcolorプロパティでは、120数種の
名前付き色が候補表示されます。
一方、WebSafeColorという、WindowsとMacとで表示色が一致している216色が
あります。
各色を16進数で比較してみると、16色は全て120数種の中に含まれているいるよう
ですが、WebSafeColorには無い色があります。120数種も全てWebSafeColorにある
訳ではありません。

それぞれの色指定はどうのように使い分けたら良いのでしょうか。
VS.NETのプロパティで候補表示される色名前指定は避けた方が良いのでしょうか。

参考:
ブラウザの機能の対応色
http://e-words.jp/p/r-colornames.html

WebSafeColor
http://segyou.tripod.com/WEB/COLOR/websafecolor.html
http://www.scollabo.com/banban/lectur/color.html

よろしくお願いします。
Gio
ぬし
会議室デビュー日: 2003/11/28
投稿数: 350
お住まい・勤務地: 都内から横浜の間に少量発生中
投稿日時: 2004-12-26 05:08
厳密を期するならば、挙げられた 3 番目のページの最後にあるとおり、HTML 仕様にある 16 色以外は使用を控えた方が良いと思います。
WebSafeColor は RGB 6 諧調表現を 8 ビット空間内に納めたようで、HTML 仕様色でマップされていないものがあり、この点を気にされているのはわかります。
私の経験では、HTML 仕様色と WebSafeColor の和集合に含まれる色であれば問題ないと考えますがいかがでしょうか。

以下愚痴:
e-words のページは、私の感覚では信頼するに足らないと感じました。
以下の理由によります。
- どのブラウザのどのバージョンがこの色名指定をサポートしているか列挙していない。
そのため、Internet Explorer 4 ではどうか、Mozilla Firefox 1.0 ではどうか、Opera では大丈夫かどうかなどが調べられない。
- 調査時点より後にリリースされたソフトでは保証されないかもしれないのに、いつの時点での調査なのか書かれていない。
- ブラウザに対する情報のみであり、ブラウザがサポートしていてもハードウェアによっては正しく表示されないおそれがあるという注意書きがない。
- アクセシビリティに言及していない。

[ メッセージ編集済み 編集者: Gio 編集日時 2004-12-26 05:38 ]
Gio
ぬし
会議室デビュー日: 2003/11/28
投稿数: 350
お住まい・勤務地: 都内から横浜の間に少量発生中
投稿日時: 2004-12-26 05:46
補足します。
e-words のページの HTML ソースを眺めたところ、色表示部分が #xxxxxx 形式で指定されています。
色指定を挙げてある名前に書き換えた、使用中のブラウザのサポートを確認できるページも用意すべきであると感じました。

# e-words に改善案(いちゃもんとも言う)を出しておこうと思います。

[ メッセージ編集済み 編集者: Gio 編集日時 2004-12-26 05:46 ]
unibon
ぬし
会議室デビュー日: 2002/08/22
投稿数: 1532
お住まい・勤務地: 美人谷        良回答(20pt)
投稿日時: 2004-12-26 09:41
unibon です。こんにちわ。

セーフカラーは今となっては死語なのではとも思います。
http://hotwired.goo.ne.jp/webmonkey/2000/39/index2a.html

また、お持ちの目的はなにでしょうか。8ビットカラーのブラウザーも色化けが起きないようにサポートしたいということでしょうか?それとも色化けなどが起きないような環境であっても、アプリケーション内で使う色を統一しておきたい、ということでしょうか?
豪雪地帯
常連さん
会議室デビュー日: 2004/06/08
投稿数: 34
投稿日時: 2004-12-26 18:50
Gioさん、unibonさん、こんにちは。

私も少し混乱して質問しました。

質問の趣旨は、
「環境(ブラウザやOS、開発言語)に関係なく同じ色を表示させるには、どのような
色指定をしたら良いか」
或いは、
「同じ色の表示はある程度考慮するものの、現実的な色指定の標準みたいなものが
あれば知りたい」
です。

それは、WebSafeColorの存在を知ったのですが、
・HTMLの16色を16進数で見るとWebSafeColorにない色がある。
・VS.NETの名前付き色はどちらかというとWebSafeColorにない色の方が多い。
なので、もともとの疑問は、
1.HTMLの16色でも環境(ブラウザやOS)によって表示される色が違うのか?
2.VS.NETの名前付き色を使うと、知らずの内にI.E.専用の色使いのサイトになって
しまわないか。
でした。

1.については、検証環境を持たないので分かりませんが、もし、環境によって違う
とすれば、16色ってどういう意味合いを持つのか分からなくなってしまいます。
2.は、とても危惧しています。色に付いているあの名前ってマイクロソフト以外
でも通用する一般的なんでしょうか。
例えば、ASP.NETとJavaで分担開発する時に、ASP.NETの名前つき色名はJavaの
開発者に問題なく通じるのでしょうか。

ただ、unibonさんの紹介のようにwebsafecolor自体すでに意味がないというのなら、
尚更、色指定はどうすれば良いのか混乱してきました。

って、やっぱり混乱していますね。


[ メッセージ編集済み 編集者: 豪雪地帯 編集日時 2004-12-26 22:01 ]
Gio
ぬし
会議室デビュー日: 2003/11/28
投稿数: 350
お住まい・勤務地: 都内から横浜の間に少量発生中
投稿日時: 2004-12-27 21:51
引用:

「環境(ブラウザやOS、開発言語)に関係なく同じ色を表示させるには、どのような
色指定をしたら良いか」



環境に依存しない色をサイト作成者が指定することは可能ですが、同じ色を表示させるのは不可能です。
グラフィクスボードの特性、表示デバイスが CRT か液晶か EL かなどで、表示される色調は微妙ではありますが変わってしまいます。
(蛇足ですが、同一のディスプレイに表示された物を見ても、人により認識する色が同じとは限らないことにもご注意ください。)

ただし、指定した色名が OS やブラウザに依存してしまい、結果として「ブラウザが解釈できない色なので勝手に黒にした」などという事態が起こらないようにすべきであるとは考えます。

この意味で、HTML 仕様で規定されている 16 色は、「HTML 仕様準拠を謳っているブラウザであれば、これらの色を確実に解釈できる」と期待するに足る色です。
逆に VS.NET でサポートされている色名は、.NET フレームワークの中で閉じたものです。
HTML 中で指定したり、Java プログラム中で指定しても .NET の場合と同じ色に解釈される保証はありません。

ということで挙げられた疑問に回答しますと、
引用:

1.HTMLの16色でも環境(ブラウザやOS)によって表示される色が違うのか?
2.VS.NETの名前付き色を使うと、知らずの内にI.E.専用の色使いのサイトになって
しまわないか。


1. 環境に依存せずに同じ色を指定でき、HTML 準拠を謳うブラウザはその色を適切な RGB 値に解釈できると期待して良い。
表示色はハードウェア環境に依存する。
2. ほぼ確実に IE 専用の色使いになる。
となります。
誤りがある場合は容赦なく指摘してください > 詳しい方

以下補足です。
引用:

1.については、検証環境を持たないので分かりませんが、もし、環境によって違う
とすれば、16色ってどういう意味合いを持つのか分からなくなってしまいます。
2.は、とても危惧しています。色に付いているあの名前ってマイクロソフト以外
でも通用する一般的なんでしょうか。



1. 上で述べたことの繰り返しですが、HTML 仕様の中で対応する RGB 値が定義されている色という意味です。
HTML 仕様準拠ブラウザでは、例えば Silver と指定した場合と #c0c0c0 と指定した場合、同じ色が出力されると期待できるということです。
2. 私の独断ですが、まず通用しないと思います。

引用:

例えば、ASP.NETとJavaで分担開発する時に、ASP.NETの名前つき色名はJavaの開発者に問題なく通じるのでしょうか。



さすがに無理でしょう。

HTML 準拠ブラウザに対応すれば良いなら、HTML 仕様色しか使わなければ済みます。
その他の色を使うなら、24 ビットカラーが表示できない環境は切り捨ててすべて RGB 値指定にするか(絶対にお勧めしません)、ブラウザにリファラ情報を送らせて、ブラウザに対応した色を用いたページを表示させるようにする方法で対処できますが、非常に面倒ですね。
(携帯電話向けサイトでキャリアごとに表示するページを変えるのと同じです)
豪雪地帯
常連さん
会議室デビュー日: 2004/06/08
投稿数: 34
投稿日時: 2004-12-28 17:50
Gioさん、こんにちは。

まず、1つすっきりしたのは、
VS.NETの色に付いた名前は、VS.NETのローカルな名前である。(ほぼ確実)
ということで、危ないところでした。

次に、HTML16色ですが、こちらはまだ良く理解できていません。
HTMLのSilverは16進で#c0c0c0ですが、WebSafeColorには、#c0c0c0がありません。
ということは、WindowsとMacとでは異なる色で表示されるということになりそうです。
ただ、HTMLでSilverとうたっているので、それからかけ離れた色にはならないと
思いますが、そういう事を認識した上で指定する事が大切かなと思っています。

では、16色以上を使いたい場合は、どうすれば良いかという事ですが、
VS.NETの名前付き色は使えないので、結局、WebSafeColorを使うという事でしょうか。
todo
ぬし
会議室デビュー日: 2003/07/23
投稿数: 682
投稿日時: 2004-12-28 20:36
引用:

豪雪地帯さんの書き込み (2004-12-28 17:50) より:
まず、1つすっきりしたのは、
VS.NETの色に付いた名前は、VS.NETのローカルな名前である。(ほぼ確実)


IEローカルの名前というべきでは?

.NET FrameworkのKnownColorはIEのカラーテーブルに準拠しているようです。

KnownColor列挙体
IE4のカラーテーブル

スキルアップ/キャリアアップ(JOB@IT)