📄 第十章:关于颜色系统(all about color).htm
字号:
lang=EN-US>FLASE</span><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>。</span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>当</span><span lang=EN-US>start_color()</span><spanstyle='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>函数被调用后,</span><span lang=EN-US>CURSES</span><spanstyle='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>会初始化所有终端能够支持的颜色。这些颜色已经被定义成常量,可以通过访问这些常量(比如</span><spanlang=EN-US>COLOR_BLACK</span><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>)来使用这些颜色。事实上在使用颜色时,你必须的一对颜色常量。这是使用颜色的常用作法,这就意味着你必须给</span><spanlang=EN-US>init_pairs()</span><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>传递一对参数用来定义屏幕的前景色和背景色。在这一对参数被定义后,这一对参数将被作为</span><spanlang=EN-US>COLOR_PAIR()</span><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>函数的一对属性。这种方式也许会显得有点繁琐,但是这也是允许我们使管理屏幕颜色的一种更加简单而雅致的方法。你应该去看看“</span><spanlang=EN-US>dailog</span><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>”的源代码,顾名思义,“</span><span lang=EN-US>dailog</span><spanstyle='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>”是一个用于在</span><span lang=EN-US>shell</span><spanstyle='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>环境下显示对话框的程序。开发者已经定义了对话框的前景色和背景色。以便当我们需要在程序开始的时候初始化。通过这样访问一对变量设置属性,就像我们访问已定义的常量一样简单。</span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>以下的这些颜色已经被预定义在</span><span lang=EN-US>curses.h</span><spanstyle='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>里,你可以将它们当作颜色参数传递给相应的颜色函数。</span></p><p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span lang=EN-US><spanstyle='mso-spacerun:yes'> </span>COLOR_BLACK<span style='mso-spacerun:yes'> </span><spanstyle='mso-tab-count:2'> </span>0<spanstyle='mso-tab-count:2'> </span></span></b><bstyle='mso-bidi-font-weight:normal'><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>黑色</span><spanlang=EN-US><o:p></o:p></span></b></p><p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span lang=EN-US><spanstyle='mso-spacerun:yes'> </span>COLOR_RED<span style='mso-spacerun:yes'> </span><spanstyle='mso-tab-count:2'> </span>1<spanstyle='mso-tab-count:2'> </span></span></b><bstyle='mso-bidi-font-weight:normal'><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>红色</span><spanlang=EN-US><o:p></o:p></span></b></p><p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span lang=EN-US><spanstyle='mso-spacerun:yes'> </span>COLOR_GREEN<span style='mso-spacerun:yes'> </span><spanstyle='mso-tab-count:2'> </span>2<spanstyle='mso-tab-count:2'> </span></span></b><bstyle='mso-bidi-font-weight:normal'><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>绿色</span><spanlang=EN-US><o:p></o:p></span></b></p><p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span lang=EN-US><spanstyle='mso-spacerun:yes'> </span>COLOR_YELLOW<span style='mso-spacerun:yes'> </span><spanstyle='mso-tab-count:2'> </span>3<spanstyle='mso-tab-count:2'> </span></span></b><bstyle='mso-bidi-font-weight:normal'><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>黄色</span><spanlang=EN-US><o:p></o:p></span></b></p><p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span lang=EN-US><spanstyle='mso-spacerun:yes'> </span>COLOR_BLUE<span style='mso-spacerun:yes'> </span><spanstyle='mso-tab-count:2'> </span>4<spanstyle='mso-tab-count:2'> </span></span></b><bstyle='mso-bidi-font-weight:normal'><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>蓝色</span><spanlang=EN-US><o:p></o:p></span></b></p><p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span lang=EN-US><spanstyle='mso-spacerun:yes'> </span>COLOR_MAGENTA<span style='mso-tab-count:2'> </span>5<spanstyle='mso-tab-count:2'> </span></span></b><bstyle='mso-bidi-font-weight:normal'><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>洋红色</span><spanlang=EN-US><o:p></o:p></span></b></p><p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span lang=EN-US><spanstyle='mso-spacerun:yes'> </span>COLOR_CYAN<span style='mso-spacerun:yes'> </span><spanstyle='mso-tab-count:2'> </span>6<spanstyle='mso-tab-count:2'> </span></span></b><bstyle='mso-bidi-font-weight:normal'><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>蓝绿色</span><spanlang=EN-US>, </span></b><b style='mso-bidi-font-weight:normal'><spanstyle='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>青色</span><span lang=EN-US><o:p></o:p></span></b></p><p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span lang=EN-US><spanstyle='mso-spacerun:yes'> </span>COLOR_WHITE<span style='mso-spacerun:yes'> </span><spanstyle='mso-tab-count:2'> </span>7<spanstyle='mso-tab-count:2'> </span></span></b><bstyle='mso-bidi-font-weight:normal'><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>白色</span><spanlang=EN-US><o:p></o:p></span></b></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span lang=EN-USstyle='font-size:14.0pt'>10.2</span></b><b style='mso-bidi-font-weight:normal'><spanstyle='font-size:14.0pt;font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>改变颜色定义(</span></b><aname=CHANGECOLORDEFS><b style='mso-bidi-font-weight:normal'><span lang=EN-USstyle='font-size:14.0pt'>Changing Color Definitions</span></b></a><spanstyle='mso-bookmark:CHANGECOLORDEFS'></span><b style='mso-bidi-font-weight:normal'><span style='font-size:14.0pt;font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>)</span></b><bstyle='mso-bidi-font-weight:normal'><span lang=EN-US style='font-size:14.0pt'><o:p></o:p></span></b></p><p class=MsoNormal><span lang=EN-US>init_color()</span><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>函数可以用来在初始化颜色的时候改变某个颜色的</span><spanlang=EN-US>RGB</span><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>值。比如你想减弱预定的红色设置。你可以这样调用</span><spanlang=EN-US>init_color()</span><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>函数:</span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:Tahoma'><spanstyle='mso-spacerun:yes'> </span><b style='mso-bidi-font-weight:normal'><span style='mso-spacerun:yes'> </span>init_color(COLOR_RED, 700,0, 0);<o:p></o:p></b></span></p><p class=MsoNormal><span lang=EN-US style='font-family:Tahoma'><spanstyle='mso-spacerun:yes'> </span>/* </span><spanstyle='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>参数</span><span lang=EN-US style='font-family:Tahoma'>1<spanstyle='mso-spacerun:yes'> </span>: </span><spanstyle='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>颜色名称</span><span lang=EN-US style='font-family:Tahoma'><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:Tahoma'><spanstyle='mso-spacerun:yes'> </span>* </span><spanstyle='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>参数</span><span lang=EN-US style='font-family:Tahoma'>2,3, 4 : </span><span style='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>分别为</span><spanlang=EN-US style='font-family:Tahoma'>R(red),G(green),B(blue)</span><spanstyle='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>的数值。最小值:</span><span lang=EN-US style='font-family:Tahoma'>0</span><span style='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>,最大值:</span><spanlang=EN-US style='font-family:Tahoma'>1000*/<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>如果你的显示终端无法改变颜色定义,函数将返回</span><spanlang=EN-US>ERR</span><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>。</span><span lang=EN-US>can_change_color()</span><spanstyle='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>函数可以用来监测你的终端是否可以支持这样的颜色定义改变。</span><span lang=EN-US>RGB </span><spanstyle='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>参数的值是</span><span lang=EN-US>0</span><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>到</span><spanlang=EN-US>1000</span><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>的整数。默认的红色</span><span lang=EN-US>(RED)</span><spanstyle='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>的定义是</span><span lang=EN-US>R</span><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>:</span><spanlang=EN-US>1000</span><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>,</span><span lang=EN-US>G</span><spanstyle='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>:</span><span lang=EN-US>0</span><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>,</span><spanlang=EN-US>B</span><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>:</span><span lang=EN-US>0<spanstyle='mso-spacerun:yes'> </span></span><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>。</span></p><p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span lang=EN-USstyle='font-size:14.0pt'>10.3</span></b><b style='mso-bidi-font-weight:normal'><spanstyle='font-size:14.0pt;font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>颜色定义内容(</span></b><aname=COLORCONTENT><b style='mso-bidi-font-weight:normal'><span lang=EN-USstyle='font-size:14.0pt'>Color Content</span></b></a><span style='mso-bookmark:COLORCONTENT'></span><b style='mso-bidi-font-weight:normal'><spanstyle='font-size:14.0pt;font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>)</span></b><b style='mso-bidi-font-weight:normal'><span lang=EN-US style='font-size:14.0pt'><o:p></o:p></span></b></p><p class=MsoNormal><span lang=EN-US>color_content()</span><spanstyle='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>函数和</span><span lang=EN-US>pair_content()</span><spanstyle='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>函数可以用来查看</span><span lang=EN-US>pair</span><spanstyle='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>变量中定义的内容。</span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p></div></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -