发信人: soulfox (小o&灵狐~以华丽之名), 信区: ANSI
标 题: 第二章
发信站: 日月光华 (2007年08月03日20:06:13 星期五), 站内信件
───────────────────────────────────────
__ ___
╱█ __ __ ______ ______ ╱∠-╲
╱__█ █ █ █__ ̄  ̄█ ̄ /╱︵╲\\
__╱  ̄█ █╲█ ▁ █ __█__ (╱⌒ \\│
 ̄  ̄  ̄  ̄  ̄ ̄ ̄  ̄ ̄ ̄ ╱_ / _)_/
日月光华ANSI版短期培训班 /__ /__
▏ ╱/╱
____ /▏╱╱ ╲
╱◣●\ /\︶╱ \
第 二 章: 控制码解说,颜色的搭配 /◆ _ / │ ~╲ │
▕▲ ╰)/─│ ☉│ │ │
▕◢ ^ \─│ │ │ │
时间安排: 2007年08月03日 ╲▼■/ │ ☉│ │_│
当班教师: NSgan,Saule,windream等 ▔▔ │ │ | |
│ ︵___/ \_
│ (~──||||-'
───────────────────────────────────────
──|基本知识|────────────────────────────────
一 什么是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转义序 /◥ ◤\
列都被禁止,希望大家勿随意使用。 \ ▅▃▁ ▁▃▅ /
其实只用标准序列就可以做出很多特 ╭ ╭╯▇▇▇╰╮ ╮
殊效果,右图就是一个很好的例子。 ────╯ ╰────
────────────────────────────────────|⑼|─
──|本次作业|────────────────────────────────
一 初级班作业
1. 在Test版练习手动给少量文字加控制码。(该题无须书面提交)
2. 使用透明色效果制作一个ANSI。(书面提交,形式不限)
3. 简化以下代码。(书面提交,提交简化后代码及显示效果)
*[1m*[4m*[5m*[33;45;31mA*[0m*[44;45;32mB*[0m*[42;32mC*[0m
4. 规范代码的意义。(书面提交,字数不限)
二 提高班作业(同时供学有余力的初级班学员选做)
1. 自行查阅有关走马灯效果的制作方法并尝试制作。(书面提交,形式不限)
正式学员完成作业后以投条方式提交给组长,由组长统一提交给教师。旁听学员若
希望提交作业,可交给kongkong或任一当班教师。
注:如初级班学员能在培训阶段较好的完成高级班作业,可考虑授予高级学员证书。
────────────────────────────────────|⑽|─
--
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ANSI 2007 暑期短期培训班
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
如有任何疑问,请到4区ANSI版咨询。报名事宜请参考ANSI版置底
※ 来源:·日月光华 bbs.fudan.edu.cn·[FROM: 10.85.48.11]
--
※ 转载:·日月光华 bbs.fudan.edu.cn·[FROM: 10.85.48.11]
※ 修改:·soulfox 於 08月03日20:06:26 修改本文·[FROM: 10.85.48.11]
发信人: soulfox 小o&灵狐 以华丽之名 , 信区: ANSI
标 题: 第二章
发信站: 日月光华 2007年08月03日20:06:13 星期五 , 站内信件
⌒
日月光华ANSI版短期培训班
第 二 章: 控制码解说 颜色的搭配
^
时间安排 2007年08月03日
当班教师 NSgan Saule windream等
'
基本知识
一 什么是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是有区别的 使用时请小心谨慎
⑻
知识扩充
2. Non-standard ANSI escape sequences
evening building
Cterm Sylow
*[M delay control
*[G ring
*[I change font
*[F It is basically not necessary to fill a certain area with color.
*[U Pop up URL confirmation box
fterm
*[nM delete the n lines starting from the current time
*[nL Insert n blank lines and the cursor position remains unchanged
*[nP delete n spaces
*[n@ Insert n spaces and the cursor position remains unchanged
There are currently many special and non-standard ANSI escape sequences
All columns are prohibited. Please don’t use them arbitrarily.
In fact, you can make many special effects just by using standard sequences.
Special effects. The picture on the right is a good example.
⑼
This assignment
1. Elementary class homework
1. Practice manually adding control codes to a small amount of text in the Test version. This question does not require written submission.
2. Use transparent color effects to create an ANSI written submission in any format
3. Simplify the following code and submit it in writing. Submit the simplified code and display effect.
*[1m*[4m*[5m*[33;45;31mA*[0m*[44;45;32mB*[0m*[42;32mC*[0m
4. Standardize the meaning of the code. Written submission. No limit to the number of words.
2. Improvement class assignments are also available to junior class students who have room for learning.
1. Check out the production methods of the revolving lantern effect by yourself and try to make one. Submit in writing. There is no limit to the form.
After the formal students complete the homework, they submit it to the group leader in the form of a submission. The group leader will submit it to the teacher. If the auditing students
If you wish to submit your homework, please give it to kongkong or any teacher on duty.
Note: If junior class students can complete the advanced class assignments well during the training stage, they may be considered to be awarded a senior student certificate.
⑽
ANSI 2007 Summer Short-term Training Course
If you have any questions, please consult the ANSI version of Zone 4. For registration information, please refer to the bottom of the ANSI version.
Source: Sun and Moon Guanghua bbs.fudan.edu.cn [FROM: 10.85.48.11]
Reprint: Sun and Moon Guanghua bbs.fudan.edu.cn [FROM: 10.85.48.11]
Modification: soulfox modified this article at 20:06:26 on August 3rd [FROM: 10.85.48.11]