发信人: allenwu (未注册用户·别理我,烦着呢,滚!!!!), 信区: ANSI
标 题: 3. 显示属性*[m的设置
发信站: 日月光华 (2003年12月14日00:37:40 星期天), 站内信件
显示属性是最常用的一个ANSI控制,可设置的项目包括
◆ 前景色(文本颜色)
◆ 背景色
◆ 高亮状态的设置
◆ 文本下划线
◆ 闪烁文本
◆ 反显
BBS上我们可以设置的颜色共有16种,其中8种低亮颜色,8种高亮颜色,
为了避免其他方面造成的影响,请大家先把终端软件的默认高亮等的设置关掉:
·cterm2000: 编辑>>系统设置>>高级,确认没选上总是高亮
·fterm : 选项>>参数设置,确认没有选上默认高亮
·sterm : 选项>>当前连接设置>>远程登录设置>>外观,确认没选上总是高亮
好,现在开始,先看一下下图:
设置显示属性 *[p1;p2;...;pnm
p1...pn是一些整数含义见下,m必须小写,;32m*是两下ESC打出来的,不是键盘上的*
0-关闭各显示属性 30 31 32 33 34 35 36 37
1-高亮 颜色代码记忆法: 40 ss ss ss ss ss ss ss ss
4-下划线 ↗ 41 ss ss ss ss ss ss ss ss
5-闪烁 ︳ 1=红 2=绿 4=蓝 42 ss ss ss ss ss ss ss ss
7-反显 ︳ 3=红+绿=黄 43 ss ss ss ss ss ss ss ss
︳ 5=红+蓝=紫 44 ss ss ss ss ss ss ss ss
30~37设置前景色 _︳ 6=绿+蓝=青 45 ss ss ss ss ss ss ss ss
40~47设置背景色 7=红+绿+蓝=白 46 ss ss ss ss ss ss ssss.
0就是黑色 47 ss ss ss ss ss ss ss ss
*[m与*[0m类似,都能关闭闪烁、下划线和反显,并恢复到默认前背景色
参数可连续设置: 如 *[0;1;5;32;46m 相当于 *[0m*[1m*[5m*[32m*[46m
30~37用来设置前景色,可以按上图记忆颜色,也可以直接背8种颜色对应:
*[30m黑色
*[31m红色
*[32m绿色
*[33m黄色
*[34m蓝色
*[35m紫色
*[36m青色
*[37m暗白
要得到相应的高亮颜色,用*[1m,
*[1m*[31m与*[1;31m是一样的,一般用后者使得代码更短
背景色用40~47来设置,背景色都是低亮的,因此只有8种
*[5m闪烁,要注意的是一般来说一屏上闪烁的部分不要太多太集中
*[4m是下划线,
在cterm里面下划线一律是白色的,
而fterm或sterm里面下划线的颜色与相应位置文字的颜色相同
*[7m反显建议不要使用,各种终端软件对其的解释差别较大
cterm中是交换前背景,高亮一律只作用在前景
fterm中忽略前背景色,用白底黑字
sterm中交换前背景,而且会把高亮作用到背景色上,
因此sterm中可能出现高亮背景低亮前景的情况
*[0m与*[m两者差不多,关闭闪烁下划线反显,并恢复到默认前背景色
在水木或者紫霞等站两者一样
sterm对两者的解释也一样
在其他BBS,用cterm或fterm的人,*[0m一律恢复到低亮,
*[m则根据你的设置,恢复到默认的高低亮状态
如果是在水木、紫霞等站点,或者用的是sterm,
当设成了默认高亮时就得不到低亮的颜色
fterm,cterm中如果你的默认背景被设成了不同于黑色的另一种颜色
*[40m会切换到默认背景颜色而不是黑色,
sterm则可能切换到黑色
一般来说BBS里面一行代码的长度最多254个字符(一个中文字算两个字符),
对于活动看板等的,可能还有更严格的限制,允许的代码长度更短
因此有时候一定要使用尽量短的代码,重复的代码不要多次设置,例如:
*[0;32;41m红底绿字*[1;32;43m高亮黄底绿字*[5;1;31;43m高亮闪烁黄底红字
这行代码可以缩短为
*[0;32;41m红底绿字*[1;43m高亮黄底绿字*[5;31m高亮闪烁黄底红字
精简代码也是一门学问,这个就不在这里多谈了。
254个字符其实并不算多,一般一行是80个可见字符,
如果每个都切换一次颜色,设置前景色需要增加5个字符,
6*80=480,已经远远超出254了,
所以一行中颜色的变化还是受到一定限制的
除非到达屏幕底端,不然上一行末尾的显示属性会延续到下一行,这也是要注意的
--
※ 来源:·日月光华 bbs.fudan.edu.cn·[FROM: 10.85.24.241]
Sender: allenwu Unregistered user. Ignore me. I’m annoyed. Get lost. Message area: ANSI
Title: 3. Display attribute *[m settings
Sending site: Sun and Moon Guanghua December 14, 2003 00:37:40 Sunday, site mail
Display properties are one of the most commonly used ANSI controls. Settable items include
Foreground color text color
background color
Highlight status settings
text underline
flash text
Reverse display
There are 16 colors that we can set on BBS, including 8 low-brightness colors and 8 high-brightness colors.
In order to avoid the impact caused by other aspects, please turn off the default highlighting and other settings of the terminal software first.
cterm2000: Edit>>System Settings>>Advanced Confirm that it is always highlighted if it is not selected
fterm: Options>>Parameter Settings Make sure default highlighting is not selected
sterm: Options>>Current connection settings>>Remote login settings>>Appearance Confirm that it is always highlighted if it is not selected
Okay, let’s start now. Take a look at the picture below.
Set display properties *[p1;p2;...;pnm
p1...pn are some integers, the meaning is as follows, m must be lowercase, ;32m* is typed by ESC twice, not * on the keyboard
0 Turn off each display attribute 30 31 32 33 34 35 36 37
1 Highlight Color Code Mnemonics 40 ss ss ss ss ss ss ss ss
4 underscore 41 ss ss ss ss ss ss ss ss
5 flashing 1 red 2 green 4 blue 42 ss ss ss ss ss ss ss ss
7 reverse display 3 red green yellow 43 ss ss ss ss ss ss ss ss
5 red blue purple 44 ss ss ss ss ss ss ss ss
30 37Set the foreground color 6 green blue cyan 45 ss ss ss ss ss ss ss ss
40 47Set background color 7 red green blue white 46 ss ss ss ss ss ss ssss.
0 is black 47 ss ss ss ss ss ss ss ss
*[m is similar to *[0m. They can turn off flickering, underlining and inverting, and restore the default background color.
Parameters can be set continuously: For example, *[0;1;5;32;46m is equivalent to *[0m*[1m*[5m*[32m*[46m
30 37 is used to set the foreground color. You can remember the color according to the picture above, or you can directly memorize 8 corresponding colors.
*[30m black
*[31m red
*[32m green
*[33m yellow
*[34m blue
*[35m purple
*[36m cyan
*[37m dark white
To get the corresponding highlight color use *[1m
*[1m*[31m is the same as *[1;31m. Generally, the latter is used to make the code shorter.
Use 40 47 to set the background color. The background colors are all low-bright, so there are only 8 types.
*[5m flashing. It should be noted that generally speaking, the flashing parts on a screen should not be too concentrated or too concentrated.
*[4m is underline
In cterm, the underline is always white.
The color of the underline in fterm or sterm is the same as the color of the text in the corresponding position.
*[7m reverse display is recommended not to be used. Various terminal software’s interpretations vary greatly.
In cterm, the background is exchanged. Highlighting only affects the foreground.
Ignore the background color in fterm and use black text on a white background
Swap the front and background in sterm and apply the highlight to the background color
Therefore, there may be a situation where the background is highlighted and the foreground is low in sterm.
*[0m is similar to *[m. Turn off the flashing underline display and restore the default background color.
It's the same at Shuimu or Zixia stations.
sterm has the same explanation for both
People who use cterm or fterm on other BBS *[0m will return to low brightness
*[mRestore to the default high and low brightness state according to your settings
If you are on a site such as Shuimu or Zixia, or if you are using sterm
When it is set to the default highlight, you will not get the low-light color.
If your default background in fterm or cterm is set to another color than black
*[40m will switch to default background color instead of black
sterm may switch to black
Generally speaking, the length of a line of code in BBS can be up to 254 characters, and one Chinese character counts as two characters.
There may be stricter restrictions on activity boards, etc., and the allowed code length is shorter.
Therefore, sometimes you must use the shortest possible code. Do not set repeated codes multiple times. For example,
*[0;32;41mGreen characters on red background*[1;32;43mHighlighting green characters on yellow background*[5;1;31;43mHighlighting flashing red characters on yellow background
This line of code can be shortened to
*[0;32;41mGreen characters on red background*[1;43mHighlighting green characters on yellow background*[5;31mHighlighting flashing red characters on yellow background
Streamlining code is also a science. I won’t talk about it here.
254 characters is actually not too much. Generally, there are 80 visible characters in one line.
If you switch the color once each time, setting the foreground color requires adding 5 characters.
6*80 480 is far beyond 254
Therefore, the color changes within a row are still subject to certain restrictions.
Unless you reach the bottom of the screen, the display attributes at the end of the previous line will continue to the next line. This should also be noted.
Source: Sun and Moon Guanghua bbs.fudan.edu.cn [FROM: 10.85.24.241]