前項の続きである。 「十色+数字」でなく、色だけで表現したらどうなるだろう? それには、使いやすく、わかりやすい色を 100 種類用意する必要がある。
数値 | 色番号 | 近い色 | 見本 |
---|---|---|---|
00 | #ff0f0f | 赤 | ##### |
20 | #ffff0f | 黄 | ##### |
40 | #0fff0f | 緑 | ##### |
60 | #0fffff | シアン | ##### |
80 | #0f0fff | 青 | ##### |
100 | #ff0fff | マゼンタ | ##### |
これは、前項の六角形から少しだけ番号を変えたものである。 あとはこの間を内分して色を決めることにしよう。 プログラムは出力関数だけを示す。残りは前と同じである。
/* 配列 a[0] ... a[N-1] を“色で”印字 */ void print(void) { int i; for (i = 0; i < N; i++) { printf("<font color=\""); switch(a[i] / 20) { case 0: printf("#ff%02x0f", 15 + a[i] % 20 * 12); break; case 1: printf("#%02xff0f", 255 - a[i] % 20 * 12); break; case 2: printf("#0fff%02x", 15 + a[i] % 20 * 12); break; case 3: printf("#0f%02xff", 255 - a[i] % 20 * 12); break; case 4: printf("#%02x0fff", 15 + a[i] % 20 * 12); break; default: ; } printf("\">#</font>"); } printf("\n"); }
出力例を以下に示す。
#################################################################################################### #################################################################################################### #################################################################################################### #################################################################################################### #################################################################################################### #################################################################################################### #################################################################################################### #################################################################################################### #################################################################################################### #################################################################################################### #################################################################################################### #################################################################################################### #################################################################################################### #################################################################################################### #################################################################################################### #################################################################################################### #################################################################################################### #################################################################################################### #################################################################################################### #################################################################################################### #################################################################################################### #################################################################################################### #################################################################################################### #################################################################################################### #################################################################################################### #################################################################################################### #################################################################################################### #################################################################################################### #################################################################################################### #################################################################################################### #################################################################################################### #################################################################################################### #################################################################################################### #################################################################################################### #################################################################################################### #################################################################################################### #################################################################################################### #################################################################################################### #################################################################################################### #################################################################################################### #################################################################################################### #################################################################################################### #################################################################################################### #################################################################################################### #################################################################################################### #################################################################################################### #################################################################################################### #################################################################################################### #################################################################################################### #################################################################################################### #################################################################################################### |
2006-03-19 (0) 01:46:27 +0900