⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chap26.htm

📁 很实用的一本教程,尤其适用于刚接触c++的读者
💻 HTM
字号:
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 3.0">
<title>绘图工具</title>
<link rel="stylesheet" href="../../../include/style.css">
</head>

<body>
<font SIZE="2">

<p><small><a href="../../../index.htm">首页</a> &gt;&gt; <a href="../../program.htm">程序设计</a> 
  &gt;&gt; <a href="../cbuilder.htm">C++ Builder</a>&nbsp; &gt;&gt;&nbsp; </small>图形程式设计基本观念&middot;绘图工具</p>

<p align="left"><!--webbot bot="ImageMap" rectangle=" (40,1) (71, 23)  chap27.htm" rectangle=" (4,1) (36, 23)  chap25.htm" src="../ch1/NextBack.gif" width="72" height="24" alt="NextBack.gif (743字节)" border="0" startspan --><MAP NAME="FrontPageMap"><AREA SHAPE="RECT" COORDS="40, 1, 71, 23" HREF="chap27.htm"><AREA SHAPE="RECT" COORDS="4, 1, 36, 23" HREF="chap25.htm"></MAP><a href="../../../_vti_bin/shtml.exe/program/C++/ch2/chap26.htm/map"><img ismap usemap="#FrontPageMap" border="0" height="24" alt="NextBack.gif (743字节)" src="../ch1/NextBack.gif" width="72"></a><!--webbot bot="ImageMap" endspan i-checksum="23224" --></p>
</font>

<p><font SIZE="2" color="#FF0000">&middot;绘图工具</font></p>
<font SIZE="2">

<p>现在开始,我要为你一一介绍在TCanvas所使用的绘图工具。首先为你介绍的是TPen性质。在往下进行之前,我先简单说明C++ 
Builder的命名惯例,在C++Builder中,对於资料型别或是物件类别一般是以大写T 
为启始字元,而对於物件本身则以不包含大写T的名称为名,如TCanvas及TPen为类别名,而Canvas及Pen则是实际的物件,在本书中我会依情况交互使用之。</p>

<p> </p>

<p>TPen是你在Canvas画线所使用的”笔”,因此所有和线条有关的绘图函式都会受TPen影响,如LineTo,Ellipse,Polygon,PolyLine,Rectangle等函式都使用”笔”来画线,基本上我们可以将这些绘图工具归类为向量式的绘图工具,所有的向量式绘图工具都使用Pen来进行画线的动作。</p>

<p> </p>

<p>你可以利用Canvas.Pen来存取Pen ,藉此修改Pen的性质,这些性质包含Color,Width,Style,以及 
Mode。你可以修改上述性质来达到改变线条颜色及样式的目的。</p>

<p> </p>

<p>XX-04-01 Color性质</p>

<p> </p>

<p>Color性质可以定出笔的颜色。在C++ Builder中提供了许多颜色的预定常数,这些预设颜色都以cl(cl代表color)为启始字元命名。例如clRed代表红色,,clBlue代表蓝色,clGreen代表绿色等等。另外C++ 
Builder也将Windows的基本颜色以常数定义,如clWindow及clMenu分别代表Window及Menu的颜色。以下我列出部份C++ 
Builder定义的颜色常数,你不必完全记住它,只要有些印象即可,若是无法记住,可以直接使用线上辅助说明,不过记住一些常用的常数会加快你程式写作的效率。</p>

<p> </p>

<p>颜色常数说明</p>
</font>

<table CELLSPACING="0" BORDER="0" CELLPADDING="1" WIDTH="468">
  <tr>
    <td VALIGN="TOP"><font SIZE="2">值 意义</font></td>
  </tr>
  <tr>
    <td VALIGN="TOP"><font SIZE="2">clBlack 黑色</font></td>
  </tr>
  <tr>
    <td VALIGN="TOP"><font SIZE="2">clMaroon 茶色</font></td>
  </tr>
  <tr>
    <td VALIGN="TOP"><font SIZE="2">clGreen 绿色</font></td>
  </tr>
  <tr>
    <td VALIGN="TOP"><font SIZE="2">clOlive 橄榄绿</font></td>
  </tr>
  <tr>
    <td VALIGN="TOP"><font SIZE="2">clNavy 海蓝色</font></td>
  </tr>
  <tr>
    <td VALIGN="TOP"><font SIZE="2">clPurple 紫色</font></td>
  </tr>
  <tr>
    <td VALIGN="TOP"><font SIZE="2">clTeal 青紫色</font></td>
  </tr>
  <tr>
    <td VALIGN="TOP"><font SIZE="2">clGray 灰色</font></td>
  </tr>
  <tr>
    <td VALIGN="TOP"><font SIZE="2">clSilver 银色</font></td>
  </tr>
  <tr>
    <td VALIGN="TOP"><font SIZE="2">clRed 红色</font></td>
  </tr>
  <tr>
    <td VALIGN="TOP"><font SIZE="2">clLime 灰绿色</font></td>
  </tr>
  <tr>
    <td VALIGN="TOP"><font SIZE="2">clBlue 蓝色</font></td>
  </tr>
  <tr>
    <td VALIGN="TOP"><font SIZE="2">clFuchsia </font></td>
  </tr>
  <tr>
    <td VALIGN="TOP"><font SIZE="2">clAqua 淡绿青色</font></td>
  </tr>
  <tr>
    <td VALIGN="TOP"><font SIZE="2">clWhite 白色</font></td>
  </tr>
  <tr>
    <td VALIGN="TOP"><font SIZE="2">clBackground Window背景色</font></td>
  </tr>
  <tr>
    <td VALIGN="TOP"><font SIZE="2">clActiveCaption 活动视窗的标题色</font></td>
  </tr>
  <tr>
    <td VALIGN="TOP"><font SIZE="2">clInactiveCaption 非活动视窗的标题色</font></td>
  </tr>
  <tr>
    <td VALIGN="TOP"><font SIZE="2">clMenu Menu的颜色</font></td>
  </tr>
  <tr>
    <td VALIGN="TOP"><font SIZE="2">clWindow Windows的背景色</font></td>
  </tr>
  <tr>
    <td VALIGN="TOP"><font SIZE="2">clWindowFrame Window Frame</font><font LANG="ZH-TW" SIZE="2">的颜色</font></td>
  </tr>
  <tr>
    <td VALIGN="TOP"><font SIZE="2">clMenuText Menu文字的颜色</font></td>
  </tr>
  <tr>
    <td VALIGN="TOP"><font SIZE="2">clWindowText Window内文字的颜色</font></td>
  </tr>
  <tr>
    <td VALIGN="TOP"><font SIZE="2">clCaptionText 标题文字的颜色</font></td>
  </tr>
  <tr>
    <td VALIGN="TOP"><font SIZE="2">clActiveBorder 活动视窗的边界颜色</font></td>
  </tr>
  <tr>
    <td VALIGN="TOP"><font SIZE="2">clInactiveBorder 非活动视窗的边界颜色</font></td>
  </tr>
  <tr>
    <td VALIGN="TOP"><font SIZE="2">clAppWorkSpace 视窗工作区域的颜色</font></td>
  </tr>
  <tr>
    <td VALIGN="TOP"><font SIZE="2">clHighlight 高亮度Windows颜色</font></td>
  </tr>
  <tr>
    <td VALIGN="TOP"><font SIZE="2">clHightlightText 被选取文字的颜</font></td>
  </tr>
  <tr>
    <td VALIGN="TOP"><font SIZE="2">clBtnFace Button颜色</font></td>
  </tr>
  <tr>
    <td VALIGN="TOP"><font SIZE="2">clBtnShadow Button影子颜色</font></td>
  </tr>
  <tr>
    <td VALIGN="TOP"><font SIZE="2">clGrayText 灰色文字色</font></td>
  </tr>
  <tr>
    <td VALIGN="TOP"><font SIZE="2">clBtnText Button内文字颜 </font></td>
  </tr>
  <tr>
    <td VALIGN="TOP"><font SIZE="2">clBtnHighlight Button高亮度颜色</font></td>
  </tr>
</table>
<font SIZE="2">

<p> </p>

<p>以下的程式会将画笔的颜色设为蓝色</p>

<p>Canvas-&gt;Pen-&gt;Color=clBlue;</p>

<p> </p>

<p>另外我们也可以利用以下的叙述来改变颜色</p>

<p> </p>

<p>Canvas-&gt;Pen-&gt;Color = TColor(RGB(192,192,192));</p>

<p> </p>

<p>注:RGB是Windows系统用以表示颜色的方式,它们分别代表红色(Red)、绿色(Green)及蓝色(Blue)。使用RGB时我们可以传入分别代表红、绿、蓝叁种颜色的强度值,此时它会传回Windows系统的对应值。例如RGB(255,0,0) 
的传回值是代表红色,所以Tcolor(RGB(255,0,0)) 所代表的意义和clRed是相同的。你也可以利用ColorToRGB来将clRed等C++ 
Builder定义的常数值传换成Windows系统所代表的RGB颜色。</p>

<p> </p>

<p>XX-04-02 Style性质</p>

<p> </p>

<p>Style性质是用来改变画笔的型式,在C++ Builder中定义了以下几种画笔型式。它们都以ps为启始字串 
(ps代表Pen Style)。</p>

<p> </p>

<p>psClear 清除线</p>

<p>psDash Dash线</p>

<p>psDashDot Dash和Dot交替线</p>

<p>psDashDotDot Dash和一堆Dot线</p>

<p>psSolid 实心线</p>
</font>

<p><font SIZE="2"><img SRC="Image5.gif" WIDTH="445" HEIGHT="307">图05</font></p>
<font SIZE="2">

<p align="right"><!--webbot bot="ImageMap" rectangle=" (40,1) (71, 23)  chap27.htm" rectangle=" (0,0) (32, 22)  chap25.htm" src="../ch1/NextBack.gif" width="72" height="24" alt="NextBack.gif (743字节)" border="0" startspan --><MAP NAME="FrontPageMap1"><AREA SHAPE="RECT" COORDS="40, 1, 71, 23" HREF="chap27.htm"><AREA SHAPE="RECT" COORDS="0, 0, 32, 22" HREF="chap25.htm"></MAP><a href="../../../_vti_bin/shtml.exe/program/C++/ch2/chap26.htm/map1"><img ismap usemap="#FrontPageMap1" border="0" height="24" alt="NextBack.gif (743字节)" src="../ch1/NextBack.gif" width="72"></a><!--webbot bot="ImageMap" endspan i-checksum="41860" --></p>

<p><small><a href="../../../index.htm">首页</a> &gt;&gt; <a href="../../program.htm">程序设计</a> 
  &gt;&gt; <a href="../cbuilder.htm">C++ Builder</a>&nbsp; &gt;&gt;&nbsp; </small>图形程式设计基本观念&middot;绘图工具</p>
</font>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -