zl程序教程

您现在的位置是:首页 >  其他

当前栏目

[oeasy]python0074_设置高亮色_color_highlight_ansi_控制终端颜色

2023-03-07 09:03:25 时间

更多颜色

回忆上次内容

  • 上次我们搞的还是颜色
    • FG foreground 前景色 30-37
    • BG background 背景色 40-47
  • 这些 都可以和字体样式 结合起来
  • 难道 就这几种颜色 吗???
  • 有点啊!
  • 有些颜色 也和想象不一致
    • 金黄色 也不够啊?!

明确概念

  • \
    • 转义字符
    • escape character
  • \和其他字符
    • 可以构成转义序列
    • \t
    • \n
    • \r
  • \e 也是转义序列
    • \e 这个转义序列转义到 escape 这样的状态
    • 从正常的输出退出
    • 进入 control sequences 控制序列
  • 控制序列
    • 不直接输出到屏幕
    • 而是设置一些位置、样式、颜色之类的
    • 他开始于 CSI(Control Sequence Introduce)
  • CSI
    • \e 对应 ascii 的值是(033)<sub>8</sub>
    • \033[ 就是 控制序列初始化符号(Control Sequence Introduce)
    • 所以一般写作\033[控制信息
    • 如果我就想输出这个csi应该如何呢?

输出csi

  • 直接对\转义就可以
  • 各厂商终端都开始学习VT100的控制序列
    • 关于控制信息的实现细节
    • 基本一致
    • 最终统一到了 ansi 标准下
  • 于是终端有了色彩

亮色设置

  • 31-37 对应八种常见的前景色
  • 41-47 对应八种常见的背景色
  • 91-97 对应八种高亮的常见前景色
  • 100-107对应 八种高亮的常见背景色

尝试

  • Bright Red和Red确实不一样
  • Green也有区别
  • 高亮绿真的比原来更高亮啊!!?
  • 高亮蓝色确实让蓝色高亮了起来
  • 但是这个和字体样式中的加粗加亮比较呢?

具体实验

  • 各种控制符
    • 31是普通红色
    • 91的高亮红色
    • 1是加粗字体
    • 31;1是普通红色加粗字体
  • 亮度排序
    • 最亮
      • 31;1
      • 91;1
    • 中亮
      • 91
    • 低亮
      • 31
  • 颜色 有点
    • 还不是 纯红色
  • 这个 颜色
    • 可以 更明确地量化 吗?

具体颜色

  • 高亮 只是 一个名称
    • 名称 可以 定义颜色
    • 也可以 定义高亮颜色
  • 但是
    • 究竟什么是 红?
    • 什么是 高亮红?
    • 这是一个 抽象的 颜色名
  • 具体的颜色 还是 由终端控制的
    • 这些终端 必须得落实到 颜色值
  • 每个终端 实现的红色
    • 都是 红的
    • 但 具体会有 一些差异
  • 在这个 xfce的终端上
    • 就是想要 一个大红?啊!?

目前颜色

  • 高亮红、红+亮
    • 都不够红?
  • 可以 再红?些 么?

总结

  • 这次 了解了 高亮颜色
    • 91-97 是 高亮 前景色
    • 101-107是 高亮 背景色
  • 颜色 种类
    • 在原来基础上 增加了一些
    • 但也非常有限
  • 还想要 更精细的颜色
    • 有可能吗???
  • 我们下次再说!?
  • 蓝桥->https://www.lanqiao.cn/courses/3584
  • github->https://github.com/overmind1980/oeasy-python-tutorial
  • gitee->https://gitee.com/overmind1980/oeasypython
  • 视频->https://www.bilibili.com/video/BV1CU4y1Z7gQ 作者:oeasy