こんにちは。技術研究所の「110」です。
私は秋期の応用処理技術者試験に向けて勉強中なのですが
今日はそこで私が疑問に思った問題について書きたいと思います。
件の問題は以下のように書いてありました。
“ディスプレイの解像度が800×600画素のとき,最大216色の色数で表示できるパソコンがある。解像度を1,600×1,200画素にしたとき,表示できる最大の色数は幾らか。ここで,主記憶の一部をビデオメモリとして使用することはないものとする。”
これはあるテキストにのっていた過去問題の抜粋なのですが、最大216色というワード。違和感がありませんか?
1ピクセルあたりのビット数で色数が決定するから、色数は2のn乗になる。
テキストにそう書いてあったはず。なのに、216って2の累乗には存在しないのです。
こんな時のグーグル先生ですよね。
WEBせーふからー?
というわけで、WEBセーフカラーなるものがあるそうです。
8ビットカラーが主流だった頃は256色を表せるものの、OSによって見え方が違う色があったようです。
するとWEB画面をデザインした人が意図していないような見え方をしてしまうわけです。
そこで、色のRed,Green,Brueの3要素で構成しそれぞれを6段階に分け、その組み合わせで色を表現することでOSによる色の差異を小さくしたものがWEBセーフカラーなのです。
そういうわけで、6×6×6=216色なんですね。
6つの段階は16進数で表すとこんな風になるそうです。
これは見覚えのある方もいるのではないでしょうか。
1色の段階を00,33,66,99,CC,FFとして表しています。
つまりは16進数で6桁ということは24ビットで表しているわけです。
あれ、おかしくないですか?
8ビットカラーを前提としているのに24ビット必要になってしまうなんて変ですよね。
というわけで、さらに調べたところ、ビットマップがカギになるようです。
ビットマップとは、各ピクセルに色を指定する配列を指します。
この配列は1ピクセルで表現できる色数の分だけ要素を持ち、要素が色の情報を持ちます。
今回の8ビットカラーであれば、要素数が256となり、1つ1つの要素が任意のビット数で表された色の情報になるわけです。
さて、WEBセーフカラーは8ビットカラーの中でOSに依存しないで表現できる色のことだということがわかりました。
つまり、WEBセーフカラーのみを表示する画面というものがあるわけではなく、あくまで色の属性を指しているんですね。
ということは最大色数が216色というのがおかしいということに変わりはありません。
そういえば、この問題はある年度の応用情報処理技術者試験の過去問題でした。
ネットにテキストより詳しい解説が乗っているかもしれない・・・
というわけで、過去問題を検索して探してみました。
以下、ネットで見つけた過去問題の文章抜粋。
“ディスプレイの解像度が800×600画素のとき,最大216色の色数で表示できるパソコンがある。解像度を1,600×1,200画素にしたとき,表示できる最大の色数は幾らか。ここで,主記憶の一部をビデオメモリとして使用することはないものとする。”
みなさん。わかりましたか。
216色ではなく、216色つまり、2の16乗ってことです。
簡単に言うと誤植だったわけですね。
日曜の昼下がり、ちょっと冷房の効きすぎたコーヒーショップで些細な誤植から偶然にもWEBセーフカラーに出会ったのでした。
みなさんも誤植にはご注意を。