,VC.net   工具软件   办公软件   操作系统   网络安全   设计在线   程序开发   教程宝典   软件下载   软件论坛,VC.net
您的位置:软件 > 开发者网络 > 微软开发专栏 > Visual Studio.net专栏 > VC.net > 正文
VC.NET的GDI+编程入门教程之图形
[文章信息]
作者:刘涛编译
时间:2005-04-19
出处:天极网
责任编辑:方舟
[文章导读]
长方形是由四条边组成的具有四个直角的几何图形,为了绘制一个长方形,可以定义围成长方形的矩形值,或定义它的位置和尺寸
advertisement
热点推荐
· VB实现SQL Server 2000存储过程调用
· Java解析网络数据流的三种特殊方法
· 多媒体教程:网页表单文本域类型
· 体验V5E地形编辑:整体控制
· 打造完美可随意安装的WinXP镜像
[正文]

上一页  1 2 3 4 5 6 7 8  下一页

  基于圆的图形

  一、椭圆与圆

  连续弯曲的线条围成了椭圆。椭圆上的每一个点都相对于中心点来说都存在一个对称点,下图对它进行了说明:


图九、椭圆示意图

  因为一个椭圆可以放入到一个矩形中,所以在GDI+编程中,椭圆用它的外接矩形来定义。为了画一个椭圆,可以使用Graphics::DrawEllipse()方法,这个方法有四个版本:

public: void DrawEllipse(Pen *pen, Rectangle rect);
public: void DrawEllipse(Pen *pen, RectangleF rect);
public: void DrawEllipse(Pen *pen, int x, int y, int width, int height);
public: void DrawEllipse(Pen *pen, float x, float y, float width, float height);


图十、函数参数示意图

  这种方法参数的含义与Graphics::DrawRectangle()方法参数的含义是一样的。

  这里是一个例子:

private: System::Void Form1_Paint(System::Object * sender,
System::Windows::Forms::PaintEventArgs * e)
{
 Pen *penCurrent = new Pen(Color::Red);
 e->Graphics->DrawEllipse(penCurrent, Rectangle(20, 20, 226, 144));
}


图十一、代码运行效果图

  二、饼图

  饼图是用一个起始角度和终止角度定位的椭圆的一部分,示意图如下:


图十二、饼图示意图

  为了画一个饼图,可以用Graphics::DrawPie()方法,它有下列的几个版本:

public: void DrawPie(Pen *pen, Rectangle rect,float startAngle,float sweepAngle);
public: void DrawPie(Pen *pen, RectangleF rect, float startAngle,float sweepAngle);
public: void DrawPie(Pen *pen,int x,int y,int width,int height, int startAngle, int sweepAngle);
public: void DrawPie(Pen *pen, float x, float y, float width, float height, float startAngle, float sweepAngle);

  饼图是基于椭圆的,椭圆所外接的矩形将作为rect参数传递,矩形也可以用定位点和尺寸来定义。

  对于所要绘制的椭圆的外接矩形中,可以设定一个起始角度,这个角度是按照顺时针方向从0度开始计算的(就象一个模拟钟一样)。这意味着90度在6点钟方向而不是在12点钟方向。这个开始的角度作为startAngle参数来传递。

  定义过起始角度后,还要定义饼图所覆盖的角度,这也是按照顺时针计算的。这个值使用sweepAngle参数来传递。

  下面有个例子:

private: System::Void Form1_Paint(System::Object * sender,
System::Windows::Forms::PaintEventArgs * e)
{
 Pen *penCurrent = new Pen(Color::Red);
 e->Graphics->DrawPie(penCurrent, 20, 20, 200, 100, 45, 255);
}

  代码运行效果如下:


图十三、饼图效果


上一页  1 2 3 4 5 6 7 8  下一页

发表评论推荐给朋友我想参加相关培训打印我对此感兴趣订阅电子杂志
天极社区邀请您:写博客日记  上传相片   论坛聊天  订阅电子杂志  推荐网摘   免费图铃工具
笔名:   请您注意:

 遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。

 天极网拥有管理笔名和留言的一切权利。
评论:
 
,VC.net相关内容,VC.net焦点新闻
  • VC++2005快速构建安全的应用程序
  • 完美的C++:C++/CLI
  • 体验Visual Studio 2005中C++语言
  • 超越C++:下一代C++——C++/CLI简介
  • Visual C++ 2005中混合代码的初始化
  • FVD刺激高清碟机加速商业化 抢占商机最重要
  • 3家搜索引擎集体诉讼8848 吕春维未敢出席
  • 杨元庆:没有准备不会获批的备用方案
  • 军队信息化诞生新领域 电子军务呼之欲出
  • 世界经济论坛公布信息化程度全球最新排名
  • 2004政务绩效评估:政府门户尚处于发展阶段
  • 甲骨文出资5.15亿美元 意图收购RetekInc
  • 技术并购:帮你突破传统增长的“天花板”
  • ,VC.netAdvertisement