linux社区爱心援助Linux认证系列教程业界动态站务新闻公司招聘建议留言网址大全LPI专题CISCO专题
设为首页
加入收藏
管理团队
JSP  
JAVA  
PERL  
 您的位置:首页 > 开发语言 > c/c++/c# >
栏目导栏
  php
  JSP
  ASP
  asp.net
  JAVA
  c/c++/c#
  perl
  JavaScript
  Basic
  Delphi
资料搜索
热门文章
·Windows/Linux下配置Eclipse+C
·VC++(Ctime日期函数)应用
·c语言static与extern的用法
·C#发送Email邮件方法总结
·typedef struct和struct的区别
·C/C++对文件操作
·struct的初始化,拷贝及指针成
·C常用算法程序实例-线性代数方
·C语言入门实例 switch使用
·c++二叉树实现源代码
·对初学者的建议:如何学习C语言
·使用C/C++扩展Python
·C++ Builder 处理控件中的文本
·一道C#面试题目引发的思考
·C++ Builder 创建程序包和DLL方
最新文章
·使用C/C++扩展Python
·C语言入门实例 switch使用
·在C#里实现DATAGRID的打印预览
·如何使用 Visual C# .NET 创建
·C#发送Email邮件方法总结
·一道C#面试题目引发的思考
·c语言艺术清屏
·c语言static与extern的用法
·大数的阶乘算法
·C#编码好习惯
·构造函数,复制构造函数
·typedef struct和struct的区别
·struct的初始化,拷贝及指针成
·超强的指针学习笔记推荐
·STL中erase方法对链表类容器的
Google
 
C++ Builder 使用Canvas的方法来绘制图形对象
[ 作者:  加入时间:2007-11-02 13:34:06  来自:Linux联盟收集整理 ]
6.1.5 使用Canvas的方法来绘制图形对象
本节说明如何使用一些常用方法绘制图形对象。包括:
· 绘制直线和折线。
· 绘制形状。
· 绘制圆角矩形。
·绘制多边形。

1.绘制直线和折线
画布可以绘制直线和折线。直线只是两点之间像素点的连线。折线则是一系列的直线通过端点相连。画布使用画笔来绘制所有线条。

(1)绘制直线
使用画布的LineTo方法可在画布上绘制直线。LineTo从当前的画笔位置到给定点间绘制一条直线并将其终点设为当前位置。画布使用其画笔来绘制直线。
例如,下列方法在画窗体时绘制窗体的交叉对角线:


(2)绘制折线
除了单独的直线外,画布还可以绘制折线,折线是由任意数目的线段组成的。调用画布的Polylne方法可在画布上绘制折线。传给Polyline方法的参数是一个点的数组。可以把绘制折线的过程看成是先运行MoveTo移到第一个点,然后再使用LineTo绘制接下来的每一个点。使用Polyline绘制折线的速度比使用MoveTo方法和LineTo方法快,因为它消除了调用函数的额外负担。

例如,下列方法在窗体中绘制一个菱形。


注意,Polyline的最后一个参数是最后一个点的索引,而不是点数。

2.绘制形状
画布具有一些用于绘制不同形状的方法。画布使用其画笔来绘制形状的边框,然后使用画刷填充内部区域。用来绘制形状边框的线条是由当前Pen对象控制的。

绘制形状包括:
· 绘制矩形和椭圆形。
· 绘制圆角矩形。
· 绘制多边形。

(1)绘制矩形和椭圆形
要在画布上绘制矩形或椭圆形,可调用画布的Rectangle方法或Ellipse方法,传入的参数是限定边界的矩形坐标。 Rectangle方法绘制限定边界的矩形,Ellipse则绘制一个与矩形所有边线相切的椭圆形。

下列方法绘制一个填充窗体左上象限的矩形,然后在相同的区域绘制一个椭圆形:


(2)绘制圆角矩形
要在画布上绘制圆角矩形,可调用画布的RoundRect方法。传给RoundRect的前四个参数是矩形的四个边框,与传给Rectangle方法或Ellipse方法的参数相同。另外还有两个参数用于说明如何绘制圆角。例如,下列方法在窗体的左上象限绘制一个圆角矩形,圆角的直径为10个像素点。


(3)绘制多边形
要在画布上绘制有任意数目边的多边形,可调用画布的Polygon方法。Polygon使用一个点的数组做为其唯一的参数,并以画笔连接每个点,然后把最后一个点连到第一个点以完成多边形。在绘制线条后,Polygon使用画刷填充多边形的内部区域。
例如,下列代码在窗体的左下象限绘制一个三角形:

 

Linux联盟收集整理 ,转贴请标明原始链接,如有任何疑问欢迎来本站Linux论坛讨论
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
 ·C++ Builder 使用Canvas对象的属性  (2007-11-02 13:33:10)
 ·C++ Builder 画布的通用属性和方法  (2007-11-02 13:32:25)
 ·C++ Builder 刷新屏幕  (2007-11-02 13:31:55)
 ·C++ Builder 在控件中加入图形  (2007-11-02 13:31:11)
 ·C++ Builder 处理控件中的文本  (2007-11-02 13:29:39)
 ·C++ Builder 实现控件的拖动-停靠操作  (2007-11-02 13:28:44)
 ·C++ Builder 实现控件拖放操作  (2007-11-02 13:28:01)
 ·使用 C++ Builder 框架  (2007-10-23 13:49:32)
 ·使用 C++ Builder 对象仓库介绍  (2007-10-23 13:47:24)
 ·C++ Builder 创建分布式应用程序介绍  (2007-10-23 13:44:16)