
绘制字符画
【例2.3】试编程在绘图窗口显示两棵并排的世界树。
在绘图窗口输出一行文字使用的语句为:Win.Cout(“此处添加要输出的字符串”);。
参考代码如下所示:

编译运行的结果如图2.6所示。

图2.6
Pen.Color(0,255,0)设置绘图窗口的画笔颜色。
Win.BackColor(128,127,255)设置绘图窗口的背景色。
Win.Cout(" ")是在窗口上逐行输出两个双引号中间的字符串,因为字符串是自动向下逐行输出的,所以不需要在字符串末尾添加换行符“\n”。
颜色为什么可以用三个数字来表示呢?
因为电脑屏幕上显示的颜色,是由红色、绿色、蓝色三种色光按照不同的比例混合而成的。因此红色、绿色、蓝色又称为三原色光,用英文表示就是R(red)、G(green)、B(blue),所以(255,0,0)表示红色,(0,255,0)表示绿色,(0,0,255)表示蓝色。通常情况下,RGB的数值用整数来表示,即从0,1,2,…,255共256级,如图2.7所示。

图2.7
256级的RGB色彩总共能组合出约1678万种色彩,即256×256×256=16777216,也称为24位色(2的24次方)。

图2.8
还可以用数字0~15表示16种常用颜色,其颜色取值如图2.9所示,例如Pen.Color(2);表示设置画笔颜色为绿色。

图2.9
在没有设置背景色代码的情况下,也可以在绘图窗口上单击鼠标右键,在弹出菜单中选择背景色,如图2.10所示。
【例2.4】试编程在控制台窗口输出如图2.11所示的字符串。

图2.10

图2.11

图2.12
其实这个很容易想明白,仔细观察图2.13中的红色框,显然编译时编译器将框内的两个双引号当成了一对。而随后的双引号编译器就看不懂了。

图2.13
除双引号外,诸如反斜杠“\”,单引号“‘”等字符也无法直接显示出来。为了正确显示这些特殊字符,可以在这些字符前加“\”来表示,例如之前我们用过的换行符“\n”,这种特殊字符的表示方法称之为转义字符。
所以正确的代码应如图2.14所示。

图2.14
任务 【题2.2】请模仿图2.15的字符图案,输出自己姓名每个字的拼音首字母(立体字符的实现方式参见资源包中的模板文本)。

图2.15