基礎プログラミング I 第09 回 Ruby であそぼ / 広告ページの作成 色をつけよう

文字に色をつける場合には escape sequence を用いる。 color.rb:

#!/usr/koeki/bin/ruby

i = 0
while i < 8
  printf("%c[%dm 文字の色が変わります \n",0x1b,30+i)
  i += 1
end

j = 0
while j < 8
  printf("%c[%d;%dm 背景に色がつきます \n",0x1b,40+j,37-j)
  j += 1
end

printf("%c[%d;%dm 太字に変わります \n",0x1b,0,1)

文字の色は 2 進法で 11110 から始まり、赤 Red 、緑 Green 、青 Blue ごとに 1, 10, 100 を割り当てて加えている。また、背景色は 101000 から始まる。 二つを同時に変更するときには ; をつける。Esc-[ が文字に効果を与える escape sequence (文字コード 0x1b) である。

# 0x1b[色番号m 
# 0x1b[背景番号;色番号m
# 色番号は 30 番, 背景は 40 番

8 色の背景や文字を使ってカラフルなアートに 挑戦してみよう。

背景の色を変えるには

xsetroot -solid 色

Kterm の色を変えるには

kterm -bg 背景 -fg 文字

が使えるので、system を使ってプログラムに仕込んでもよい。例:

system("xsetroot -solid red")
system("kterm -bg green -fg white")

本日の講義 / 講義ノート / 教員トップページ