BBShelp 版 (精华区)
发信人: trijif (比干湖), 信区: BBShelp
标 题: 日月光华ANSI版短期培训班·第二章
发信站: 哈工大紫丁香 (Thu Jan 25 18:38:08 2007), 站内
发信人: SpiritRain.bbs@bbs.ustc.edu.cn (妖精雨·日月光华同灿烂·光华驻皖办),
信区: ASCII.cn
标 题: 日月光华ANSI版短期培训班·第二章
发信站: 瀚海星云 (Wed Jan 24 19:14:21 2007)
转信站: NEWSMTH!news.newsmth.net!bbsnews.sdu.edu.cn!USTC
───────────────────────────────────────
__ ___
╱█ __ __ ______ ______ ╱∠-╲
╱__█ █ █ █__ ̄  ̄█ ̄ /╱︵╲\\
__╱  ̄█ █╲█ ▁ █ __█__ (╱⌒ \\│
 ̄  ̄  ̄  ̄  ̄ ̄ ̄  ̄ ̄ ̄ ╱_ / _)_/
日月光华ANSI版短期培训班 /__ /__
▏ ╱/╱
____ /▏╱╱ ╲
╱◣●\ /\︶╱ \
第 二 章: 控制码解说,颜色的搭配 /◆ _ / │ ~╲ │
▕▲ ╰)/─│ ☉│ │ │
▕◢ ^ \─│ │ │ │
主讲教师: Spirit ╲▼■/ │ ☉│ │_│
时间安排: 2007年01月24日 ▔▔ │ │ | |
当班教师: legendspirit,Spirit,mote等 │ ︵___/ \_
│ (~──||||-'
───────────────────────────────────────
──|基本知识|────────────────────────────────
一 什么是ANSI转义序列
ANSI转义序列,都是以一个ASCII 码27号字符开始,该字符在firebird系统下
的输入方式是连按两下ESC(水木的系统也是这样), 这时一般会出现一个*号,
不过它与直接通过Shift+8输入的*号不同,这实际上是一个控制字符(ASCII码
27号字符),这里要称赞一下水木,控制符用了黄颜色的*,这样即使跟普通的
*号同时出现也不会混淆了。
ANSI转义序列是区分大小写的,后面我们会详细介绍这一点。
在编写文章时连按两下ESC ,看到一个*号后,接着输入“[31m暗红”(不要输
入那两个引号),现在应该是“*[31m暗红”了,按一下ESC再按一下C键,就能
看见这样的效果:暗红。字的颜色与其他未加控制符的有所不同,其实我们有
很多可以设置的效果,后面将用列表形式给出。
发文时按ESC-C可以预览效果,大多数情况下看到的和发表出来的实际效果是
一样的,不过ESC-C只能看当前一屏(23行)内的效果。
────────────────────────────────────|⑴|─
──|基本知识|────────────────────────────────
二 设置显示属性
显示属性是最常用的一个ANSI控制,可设置的项目包括
◆ 前景色(文本颜色)
◆ 背景色
◆ 高亮状态的设置
◆ 文本下划线
◆ 闪烁文本
◆ 反显
BBS上我们可以设置的颜色共有16种,其中8种低亮颜色,8种高亮颜色。
为避免其他方面造成的影响,请大家先把终端软件的默认高亮等的设置关掉。
cterm:编辑>>系统设置>>高级,确认没选上总是高亮
fterm:选项>>参数设置,确认没有选上默认高亮
sterm:选项>>当前连接设置>>远程登录设置>>外观,确认没选上总是高亮
────────────────────────────────────|⑵|─
──|基本知识|────────────────────────────────
三 色彩属性 |颜色|前景代码|背景代码|背景效果|256色 色值|
|══|════|════|════|═════|
BBS上有8种颜色可用,分别为:|黑色| *[0;30m| *[40m|▕▔▔▏|(00,00,00)|
黑,红,绿,黄,蓝,紫,靛,白 |灰色| *[1;30m| 不可用| ▔▔ |(80,80,80)|
由于字符前景有亮和暗的区别,|暗红| *[0;31m| *[41m|▕▔▔▏|(80,00,00)|
共有16种不同的前景色,背景 |亮红| *[1;31m| 不可用| ▔▔ |(FF,00,00)|
色只允许暗色,因此只有8种。 |暗绿| *[0;32m| *[42m|▕▔▔▏|(00,80,00)|
|亮绿| *[1;32m| 不可用| ▔▔ |(00,FF,00)|
四 色彩代码 |暗黄| *[0;33m| *[43m|▕▔▔▏|(80,80,00)|
|亮黄| *[1;33m| 不可用| ▔▔ |(FF,FF,00)|
*[0m:关闭各显示属性 |暗蓝| *[0;34m| *[44m|▕▔▔▏|(00,00,80)|
*[1m:高亮 |亮蓝| *[1;34m| 不可用| ▔▔ |(00,00,FF)|
*[4m:下划线 |暗紫| *[0;35m| *[45m|▕▔▔▏|(80,00,80)|
*[5m:闪烁 |亮紫| *[1;35m| 不可用| ▔▔ |(FF,00,FF)|
*[7m:反显 |暗靛| *[0;36m| *[46m|▕▔▔▏|(00,80,80)|
其余色彩代码见右表,要说明 |亮靛| *[1;36m| 不可用| ▔▔ |(00,FF,FF)|
的是,*[m 和*[0m功能基本类 |暗白| *[0;37m| *[47m|▕▔▔▏|(C0,C0,C0)|
似,具体区别下一章会谈到。 |亮白| *[1;37m| 不可用| ▔▔ |(FF,FF,FF)|
────────────────────────────────────|⑶|─
──|基本知识|────────────────────────────────
五 代码简化
一般来说BBS里面一行代码的长度最多254个字符(一个中文字算两个字符),对
于活动看板等的,可能还有更严格的限制,允许的代码长度更短。因此,代码
简化,去除不必要的代码,对于光华当前系统有着较大的作用。
我们看一个例子,例,按照先前所说可表示为*[1m*[5m*[36m*[44m例*[0m,这
样就需要占24个字节,我们可以这样简化:*[1;5;36;44m例*[0m,这样就只占
18个字节。控制符之间可以用“;”相互连接,最后只用一个“m”结尾,碰到
*[31;32;33;42;45;44m这样重复出现前景和背景的情况,我们只看同一类型最
后出现的控制符,也就是*[33;44m,先出现的效果会被后出现的覆盖。
六 规范代码
对于代码的规范,最基本的原则是保证代码的通用性,各种代码尤其是下划线
和反色,在不同浏览终端的显示大为不同,因此要尽量避免使用。而闪烁要避
大面积的使用,以保证他人浏览的方便。这里建议若连续几行都有代码控制,
要在每一行结束用*[m或*[0m收尾,避免影响到下一行的代码。
────────────────────────────────────|⑷|─
──|色彩理论|────────────────────────────────
一 三原色和三原光
▁
我们日常生活中接触到的颜色系统是三原色 ◢▄◣
系统,三种基本色为:红、黄、蓝。而电脑 ▌红 │
显示的颜色系统是三原光系统,三种基本色 ▁ ↙ ◥▄◤ ↘ ▁
为:红、绿、蓝。三原色与三原光是有区别 ◢▄◣ ◢▄◣
的,我们今后所说的颜色都是建立在三原光 ▌黄 │ ↓ ▌紫 │
系统上的,希望大家不要混淆。 ◥▄◤ ↘ ▁ ↙ ◥▄◤
◢▄◣
二 三原光的合成 ↑ ▌白 │ ↑
▁ ◥▄◤ ▁
1=红 2=绿 4=蓝 三原光的合成可以用左 ◢▄◣ ↗ ↖ ◢▄◣
3=红+绿=黄 边的表格进行理解,其 ▌绿 │ ↑ ▌蓝 │
5=红+蓝=紫 包含了合成原理和对应 ◥▄◤ ▁ ◥▄◤
6=绿+蓝=青 代码,也可以用右边的 ↘ ◢▄◣ ↙
7=红+绿+蓝=白 图进行形象记忆。 ▌靛 │
0就是黑色 ◥▄◤
────────────────────────────────────|⑸|─
──|色彩理论|────────────────────────────────
三 相邻色和互补色
▁
我们看一下右边的示意图,以白色为中心,黑 ◢▄◣
色为外延,中圈互相毗邻的颜色我们称之为相 ▌红 │
邻色,分处白色两端的为互补色。白色与黑色 ▁ ↙ ◥▄◤ ↘ ▁
我们称为基础互补色。 ◢▄◣ ◢▄◣
▌黄 │ ↓ ▌紫 │
相邻色距离最近,混杂在一起时会产生视觉误 ◥▄◤ ↘ ▁ ↙ ◥▄◤
差,因此大面积的互相混淆是不推荐的;互补 ◢▄◣
色距离最远,混杂在一起会产生强烈的对比效 ↑ ▌白 │ ↑
果,不易产生视觉误差。黑色和白色可以和任 ▁ ◥▄◤ ▁
何颜色搭配而不会产生较大视觉误差。 ◢▄◣ ↗ ↖ ◢▄◣
▌绿 │ ↑ ▌蓝 │
这里需要提一下黑色与白色间的两种颜色灰色 ◥▄◤ ▁ ◥▄◤
与暗白,灰色与三种基础色不易产生混淆,而 ↘ ◢▄◣ ↙
与三种合成色极易产生混淆,这点在使用上需 ▌靛 │
要格外注意。暗白与任何一种颜色的搭配都适 ◥▄◤
中,但大面积的背景暗白可能造成过亮效果。
────────────────────────────────────|⑹|─
──|色彩理论|────────────────────────────────
四 透明效果
我们先前曾给出一张颜色与代码的列表,里面列出了16种颜色在 256色表示下
的代码,这里就不重新列出,而根据颜色代码加法,可以得到多种透明效果。
正确的透明效果: ▌ ▌ ▌ ▌
▌ ▌
▌ ▌
▌ ▌
──────────────────────────────────
错误的透明效果: ▌
▌
▌
▌
────────────────────────────────────|⑺|─
──|知识扩充|────────────────────────────────
一 特殊ANSI转义序列
*[A 光标上移(例如*[3A是上移3行)
*[B 光标下移
*[C 光标右移
*[D 光标左移
*[H 光标定位(实际使用时一般为*[m;nH,m取1~24,n取1~80)
*[s 存储光标位置
*[u 恢复光标位置(回到最近一次*[s所在的地方)
*[K 删除到行末(fterm和sterm用当前背景色填充,cterm用默认背景色填充)
*[f 作用和用法和*[H完全一样
*[2J 作用是清屏
这些特殊转义序列平时使用较少,主要用于特殊qmd的制作,我们在qmd制作一
节中会详细介绍,但这类qmd可能影响他人阅读,不建议使用。
需要注意的是,*[u和*[U是有区别的,使用时请小心谨慎。
────────────────────────────────────|⑻|─
──|知识扩充|────────────────────────────────
____ ◢◢◤ ____
二 非标准ANSI转义序列 ╱ ╲▃▅▆▇ ▅▃╱ ╲
/ ◢ █ 夕 楼◣ \
Cterm │ ◢ █ █ █Sylow ◣ │
*[M 延时控制 \ ◢ ▂▃▂█ █▂▃▂ ◣ /
*[G 响铃 \ ◢ ◣ ◢ ◣ /
*[I 改变字体 ▊▊ ▎▎
*[F 对某一区域填充颜色(基本不用) ████ ▇ ▇ ████
*[U 弹出URL确认框 ▊▊ ████ █ █ ████ ▎▎
fterm ◥◥ ◤ ◥ ◤◤
*[nM 删除当前开始的n行 ◢╲ ▁▃▄▆▅▄▅▆▄▃▁ ╱◣
*[nL 插入n个空白行,光标位置不变 ▊◢ ◣▎
*[nP 删除n个空格
*[n@ 插入n个空格,光标位置不变 ▊◥ ▁▂▃▄▆███▆▄▃▂▁ ◤▎
◥ ◤
目前很多特殊和非标准的ANSI转义序 /◥ ◤\
列都被禁止,希望大家勿随意使用。 \ ▅▃▁ ▁▃▅ /
其实只用标准序列就可以做出很多特 ╭ ╭╯▇▇▇╰╮ ╮
殊效果,右图就是一个很好的例子。 ────╯ ╰────
────────────────────────────────────|⑼|─
──|本次作业|────────────────────────────────
一 A类作业(所有正式学员需要完成)
1. 在Test版练习手动给少量文字加控制码。(该题无须书面提交)
2. 使用透明色效果制作一个ANSI。(书面提交,形式不限)
二 B类作业(建议版主学员或有兴趣的学员完成)
1. 简化以下代码。(书面提交,提交简化后代码及显示效果)
*[1m*[4m*[5m*[33;45;31mA*[0m*[44;45;32mB*[0m*[42;32mC*[0m
2. 规范代码的意义。(书面提交,字数不限)
三 C类作业(希望有一定ANSI基础或有兴趣的学员完成)
1. 自行查阅有关走马灯效果的制作方法并尝试制作。(书面提交,形式不限)
正式学员完成作业后提交给组长,由组长统一提交给教师。旁听学员若希望提交作
业,可自行选择当班教师进行提交。
────────────────────────────────────|⑽|─
--
正如政府的意志并不必然是真理一样,民意也有它的盲目性,有着不可尽信的一面。民
意具有情绪性,有时并不是理性思考的结果。二战前的希特勒就曾获得德国绝大多数民众的
民意支持;而几乎为全世界所反对的美国的反恐战争,却获得了美国民众的广泛支持。民意
还具有不确定性。美国前国防部长麦克纳马拉在其《回顾——越战的经验与教训》一书中,
所说的一个事实耐人寻味:在越南战争刚刚开始的时候,70%以上的美国人支持战争,但到
战争相持不下时,却有70%以上的人开始反对战争。
※ 修改:·trijif 于 Jan 25 18:39:50 修改本文·[FROM: 202.118.230.102]
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.230.102]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:213.687毫秒