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

📄 014.htm

📁 很不错的delphi入门级教程
💻 HTM
📖 第 1 页 / 共 2 页
字号:
<HTML><HEAD><meta http-equiv="Content-Type" content="text/html; charset=GB2312"><TITLE>—DELPHI基础教程—第五章 Delphi图形图像编程(一)</TITLE><META NAME="keywords" CONTENT=" DELPHI基础教程 第五章 Delphi图形图像编程(一)"><META NAME="description" CONTENT=" - DELPHI基础教程 - 第五章 Delphi图形图像编程(一)"><style><!--#page {position:absolute; z-index:0; left:0px; top:0px}.tt3 {font: 9pt/12pt "宋体"}.tt2 {font: 12pt/15pt "宋体"}a {text-decoration:none}a:hover {color: blue;text-decoration:underline}--></style></HEAD><body text="#000000"  bgcolor="#FFFFFF" leftmargin="3" topmargin="3" marginheight="3" marginwidth="3"><TABLE WIDTH="100%" CELLPADDING=10 CELLSPACING=0 BORDER=0><TR><TD CLASS="tt3" VALIGN="top" width="8%"  ><strong><A HREF="015.htm"><FONT style="FONT-SIZE: 9pt">后一页</font></A><BR><A HREF="013.htm"><FONT style="FONT-SIZE: 9pt">前一页</font></A><BR><A HREF="index.html"><FONT style="FONT-SIZE: 9pt">回目录</font></A><BR></strong></TD><TD class="tt2"  width="84%"><center><B><FONT style="FONT-SIZE: 16.5pt" COLOR="#FF6666" FACE="隶书">第五章 Delphi图形图像编程(一)</FONT></B></center><hr  width="94%"><p><font face="宋体" lang="ZH-CN">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在</font>Delphi<fontface="宋体" lang="ZH-CN">中,专门定义了一组对象和部件用以绘制图形,完成一些简单的图像功能。利用这些对象、部件的方法,可以方便地绘制各种常用图形;通过设置它们的属性,能得到不同风格的图形。另外,通过对鼠标事件的定义,可以方便的设计图形绘制程序。</p><p>  本章将介绍以下内容:</p><p>  </font>1. TCanvas,TPen,TBrush,TColor<font face="宋体" lang="ZH-CN">对象的方法及属性;</p><p>  </font>2. <font face="宋体" lang="ZH-CN">绘图功能的实现;</p><p>  </font>3. TImage,TPicture,TBitBtn,TBitmap<font face="宋体" lang="ZH-CN">部件的方法及属性;</p><p>  </font>4. <font face="宋体" lang="ZH-CN">图像观测及处理。</p><p>  </font>Graphex.dpr<font face="宋体" lang="ZH-CN">是一个简单的图形图像应用程序,是对以上这些对象和组件的具体应用。本章将结合此程序进行讲述。  </p></font><p>5.1 <font face="宋体" lang="ZH-CN">图形对象概述 </p></font><p>5.1.1 TCanvas Object(<font face="宋体" lang="ZH-CN">画布对象</font>)</p><font face="宋体" lang="ZH-CN"><p>  </font>TCanvas<font face="宋体" lang="ZH-CN">对象是一个用于绘图的表面,在这个区域上,程序可实现各种绘图功能,很多部件</font>(<fontface="宋体" lang="ZH-CN">如</font>TIMage,TMemo)<font face="宋体" lang="ZH-CN">的</font>Canvas<fontface="宋体" lang="ZH-CN">属性就是</font>TCanvas<font face="宋体" lang="ZH-CN">对象。在部件上绘制图形就是在部件的画布上绘制。</font>TCanvas<fontface="宋体" lang="ZH-CN">的</font>Brush,Pen,Font<font face="宋体" lang="ZH-CN">属性分别是</font>TBrush,TPen,TFont<fontface="宋体" lang="ZH-CN">对象,它们用于定义绘制图形的风格。关于</font>TBrush,TPen<fontface="宋体" lang="ZH-CN">对象,下节中将详细介绍。</p><p>  画布的笔的位置定义在</font>PenPos<font face="宋体" lang="ZH-CN">属性中,可用</font>MoveTo<fontface="宋体" lang="ZH-CN">方法来移动笔。如果要在画布上输出文本,可用</font>Textout<fontface="宋体" lang="ZH-CN">方法。</p><p>  </font>TCanvas<font face="宋体" lang="ZH-CN">有对象很多方法,可完成常用的绘图功能,现将方法及功能简介如表</font>5.1<fontface="宋体" lang="ZH-CN">: </p></font><p><font face="宋体" lang="ZH-CN">表</font>5.1 TCanvas<font face="宋体"lang="ZH-CN">对象的方法</p><p>━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━</font></p><p><font face="宋体" lang="ZH-CN">方法名称         形式及说明</p><p>───────────────────────────────────────</font></p><p>Arc Arc(x1,y1,x2,y2,x3,y3,x4,y4 : Integer);</p><p>Arc<font face="宋体" lang="ZH-CN">方法在椭圆上画一段弧,椭圆由</font>(x1,y1),(x2,y2)<font face="宋体" lang="ZH-CN">两点所确定的椭圆所决</font></p><p><font face="宋体" lang="ZH-CN">定。弧的起点是椭圆圆周和椭圆中心与</font>(x3,y3)<fontface="宋体" lang="ZH-CN">连线的交点。弧矩形终点是椭</font></p><p><font face="宋体" lang="ZH-CN">圆圆周和椭圆中心与</font>(x4,y4)<fontface="宋体" lang="ZH-CN">连线的交点,以逆时针方向画弧。</font></p><p>Chord Chord(x1,y1,x2,yx,x3,y3,x4,y4 : Integer);</p><p>Chord<font face="宋体" lang="ZH-CN">方法连接椭圆上的两点,椭圆由</font>(x1,y1),(x2,y3)<font face="宋体" lang="ZH-CN">两点所确定的矩形决</font></p><p><font face="宋体" lang="ZH-CN">定,</font>(x3,y3)<font face="宋体" lang="ZH-CN">是始点,</font>(x4,y4)<fontface="宋体" lang="ZH-CN">是终点。</font></p><p>Brushcopy Brushcopy(const Dest : TRect;Bitmap : TBitmap;const Source TRect;</p><p>Color : TColor);</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Brushcopy<font face="宋体"lang="ZH-CN">方法把位图的一部分复制到画布的某个矩形区域,并用画笔的当前颜色替换位图的颜色。参数Dest定义画布的一个矩形区域,该矩形用以填充位图,Bitmap定义位图;Source定义位图中的矩形区域,该区域上的位图</p><p>      将被复制;</font>Color<font face="宋体" lang="ZH-CN">定义画笔中,用以替换位图的颜色。</font></p><p>CopyRect CopyRect(Dest : TRect;Canvas : TCanvas; Source TRect);</p><p><font face="宋体" lang="ZH-CN">此方法从另一个画布对象上复制部分图像到该画布。</font>Canvas<fontface="宋体" lang="ZH-CN">表示源画布,</font>Source<font face="宋体" lang="ZH-CN">是源画布上要复制的图像区域。</font>Dest<fontface="宋体" lang="ZH-CN">表示目标画布上将接受复制</font></p><p><font face="宋体" lang="ZH-CN">图像的矩形区域。</font></p><p>Draw Draw(x,y : Integer;Graphic : TGraphic)<font face="宋体" lang="ZH-CN">;</p><p>      此方法在画布给定的象素点坐标</font>(x,y)<fontface="宋体" lang="ZH-CN">处画</font>Graphic<font face="宋体" lang="ZH-CN">所给的图像,该图像可以是位图</font>,<fontface="宋体" lang="ZH-CN">图标或元位图。</font></p><p>Ellips Ellips(x1,y1,x2,y2 : Integer);</p><font face="宋体" lang="ZH-CN"><p>      </font>Ellips<font face="宋体"lang="ZH-CN">方法在画布指定的矩形边界上画一个椭圆,</font>(x1,y1)<fontface="宋体" lang="ZH-CN">是矩形左上角的象素坐标,x2,y2是矩形右下角的象素坐标。如果矩形形成一个区域,将出现一个椭圆。</p></font><p>LineTo LineTo(x,y : Integer);</p><p>LineTo<font face="宋体" lang="ZH-CN">从当前位置画一条线至</font>(x,y)<fontface="宋体" lang="ZH-CN">所指定的位置,并把笔的位置移至</font>(x ,y)<fontface="宋体" lang="ZH-CN">。</font></p><p>MoveTo MoveTo(x,y : Integer);</p><p>MoveTo <font face="宋体" lang="ZH-CN">将笔的当前位置设置到点</font>(x,y)<fontface="宋体" lang="ZH-CN">处,笔的当前位置在</font>PenPos<font face="宋体"lang="ZH-CN">属性中,</font></p><p><font face="宋体" lang="ZH-CN">改变笔的当前位置使用</font>MoveTo<fontface="宋体" lang="ZH-CN">方法,不要设法改变</font>PenPos<font face="宋体"lang="ZH-CN">的值。</font></p><p>Die Die(x1,y1,x2,y2,x3,y3,x4,y4 : Longint);</p><p>Die<font face="宋体" lang="ZH-CN">方法绘制椭圆的一部分,椭圆由点</font>(x1,y1),(x2,y2)<fontface="宋体" lang="ZH-CN">所指定的矩形所决定,制的那部分由椭圆中心到(x3,y3),(x4,y4)两点的两条辐射线所决定。</p></font><p>Polygon Polygon(Points : array of TPrint);</p><p>Polygon<font face="宋体" lang="ZH-CN">方法在画布上绘制一系列的点,各点依次连成线,最后将首尾两点相接形成一个区域,并用当前笔刷填充此区域。</p></font><p>Polyline Polyline(Ports : array of TPort);</p><p>Polyline<font face="宋体" lang="ZH-CN">方法在画布上用当前画笔绘制一系列的点,各点依次连成线。</font></p><p>StretchDraw StretchDraw(Const Rect : TRcct : Graphic : TGraphic);</p><p><font face="宋体" lang="ZH-CN">此方法在</font>Rect<font face="宋体"lang="ZH-CN">参数指定的矩形内画一图像。图像延伸改变大小以适应矩形。</font></p><p>Rectangle Rectangle(X1,y1,x2,y2 : Integer);</p><p>Rectangle<font face="宋体" lang="ZH-CN">方法在画布上用当前画刷绘制矩形,</font>(x1,y1)<fontface="宋体" lang="ZH-CN">是矩形的左上角,</font>(x2,y2)<font face="宋体"lang="ZH-CN">是矩形的右下角。</font></p><p>RomlRect RomlRect((x1,y1,x2,y2,x3,y3, : Integer);</p><p>DrawFocuseRect</p><p>DrawFocusRect(Const Rect : TRect)</p><p><font face="宋体" lang="ZH-CN">此方法绘制一矩形以指示此矩形获得焦点。此方法是异或</font>(XOR)<fontface="宋体" lang="ZH-CN">函数,第二次调用时原有矩形将消失。DrawFocuseRect绘制的矩形不能滚动。要实现滚动功能则先调用此方法使矩形消失,待滚动过后重新绘制。</p><p>━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ </p></font><p>5.1.2 Tpen Object(<font face="宋体" lang="ZH-CN">画笔对象</font>) </p><p><font face="宋体" lang="ZH-CN">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 应用程序常用</font>TPen<fontface="宋体" lang="ZH-CN">对象在画布上绘制各种线段,笔的颜色在</font>Color<fontface="宋体" lang="ZH-CN">属性中定义。线段宽度在</font>Width<fontface="宋体" lang="ZH-CN">属性中定义。</p><p>  </font>Style<font face="宋体" lang="ZH-CN">属性定义了线段的各种类型,如表</font>5.2<fontface="宋体" lang="ZH-CN">: </p></font><p><font face="宋体" lang="ZH-CN">表</font>5.2 Styled<font face="宋体"lang="ZH-CN">的取值及含义</font></p><p><font face="宋体" lang="ZH-CN">━━━━━━━━━━━━━━━━━━━━━━</p><p>  </font>Style<font face="宋体" lang="ZH-CN">     含义</font></p><p><font face="宋体" lang="ZH-CN">──────────────────────</p><p>  </font>PSolod <font face="宋体" lang="ZH-CN">画固定线段</p><p>  </font>PSDash <font face="宋体" lang="ZH-CN">画由下划线组成的线段</p><p>  </font>PSDot <font face="宋体" lang="ZH-CN">画由点组成的线段</p><p>  </font>PsDashDot <font face="宋体" lang="ZH-CN">画点划线</p><p>  </font>PsClear <font face="宋体" lang="ZH-CN">画双点划线</p><p>  </font>PsClear <font face="宋体" lang="ZH-CN">画看不见的线段</p><p>  </font>PsInsideFrame <font face="宋体" lang="ZH-CN">画边界的矩形线框</font></p>

⌨️ 快捷键说明

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