3. 显示属性*[m的设置

 显示属性是最常用的一个ANSI控制,可设置的项目包括
   ◆ 前景色(文本颜色)
   ◆ 背景色
   ◆ 高亮状态的设置
   ◆ 文本下划线
   ◆ 闪烁文本
   ◆ 反显

   BBS上我们可以设置的颜色共有16种,其中8种低亮颜色,8种高亮颜色,

   为了避免其他方面造成的影响,请大家先把终端软件的默认高亮等的设置关掉:
   ·cterm2000: 编辑>>系统设置>>高级,确认没选上总是高亮
   ·fterm    : 选项>>参数设置,确认没有选上默认高亮
   ·sterm    : 选项>>当前连接设置>>远程登录设置>>外观,确认没选上总是高亮

   好,现在开始,先看一下下图:

设置显示属性    *[p1;p2;...;pnm                                                   
                                                                                
   p1...pn 是一些整数含义见下, m 必须小写, * 是两下ESC打出来的,不是键盘上的*

   0-关闭各显示属性                             30 31 32 33 34 35 36 37           
                                                                                
   1- 高亮              颜色代码记忆法:       40 s s s s s s s s s s s s s s s s           
                                                                                
   4-下划线          ↗                       41 s s s s s s s s s s s s s s s s
   5- 闪烁            ︳   1= 2= 绿 4=     42 s s s s s s s s s s s s s s s s
   7-反显            ︳   3= + 绿=          43 s s s s s s s s s s s s s s s s
                    ︳   5= + =          44 s s s s s s s s s s s s s s s s
  30~37设置前景色 _︳   6= 绿+ =          45 s s s s s s s s s s s s s s s s
  40~47设置背景色        7= + 绿+ =      46 s s s s s s s s s s s s s s s s
                         0就是黑色           47 s s s s s s s s s s s s s s s s
*[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了,
   所以一行中颜色的变化还是受到一定限制的

   除非到达屏幕底端,不然上一行末尾的显示属性会延续到下一行,这也是要注意的


--
   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了,
   所以一行中颜色的变化还是受到一定限制的

   除非到达屏幕底端,不然上一行末尾的显示属性会延续到下一行,这也是要注意的 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值