首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 软件时空 > 软件相关 > NETCF开发之绘制图形报表
【标  题】:NETCF开发之绘制图形报表
【关键字】:NETCF
【来  源】:http://blog.csdn.net/yanyouning/archive/2006/07/23/965789.aspx

NETCF开发之绘制图形报表

绘制图形报表

利用.NET Compact Framework的绘制功能还可以绘制图形报表,例如:饼图、柱形图或折线图。下面以饼图为例,介绍如何绘制饼图的方法。绘制饼图的代码如清单7-8所示。

 

清单7-8:绘制饼图

……

Dim cBmp As New Bitmap(236, 184) ' 创建画布宽度为236,高度为184Bitmap实例

Dim cGraphic As Graphics

Dim cColor() As Color = {Color.Red, Color.Blue, Color.Green, Color.Gray, _

Color.LightCoral, Color.Gold} ' 5种颜色

Dim cPen As Pen

Dim cSolidBrush As SolidBrush

Dim cPoints() As Point

Dim RowNum As Integer = 3         ' 定义扇区块数

Dim i As Integer = 0

Dim j As Integer = 0

Dim cAngle As Integer = 0

Dim tmp As Integer = 0

Dim xCircleCenter As Integer = 100        ' 定义圆心X坐标

Dim yCircleCenter As Integer = 100       ' 定义圆心Y坐标

cGraphic = Graphics.FromImage(cBmp)

cGraphic.Clear(Color.Snow)

For j = 0 To RowNum

cAngle = 90        ' 定义扇区角度

ReDim cPoints(cAngle + 1)

' 用数学公式画圆

cPen = New Pen(cColor(j), 3)

cSolidBrush = New SolidBrush(cColor(j))

For i = tmp To tmp + cAngle

cPoints(i - tmp) = New Point

cPoints(i - tmp).X = (1 - System.Math.Sin(i / 360 * 2 * System.Math.PI)) * (xCircleCenter - 30) + 10

cPoints(i - tmp).Y = (1 - System.Math.Cos(i / 360 * 2 * System.Math.PI)) * (yCircleCenter - 30) + 10

Next i

' 加入圆心坐标点

cPoints(cAngle + 1) = New Point

cPoints(cAngle + 1).X = xCircleCenter - 20

cPoints(cAngle + 1).Y = yCircleCenter - 20

' 绘制扇区对应的区域

cPen = New Pen(cColor(j), 3)

cSolidBrush = New SolidBrush(cColor(j))

cGraphic.DrawPolygon(cPen, cPoints)

cGraphic.FillPolygon(cSolidBrush, cPoints)

tmp = tmp + cAngle

Next

        pb_graphic.Image = cBmp

……

 

在清单7-8中,首先定义一个指定大小的画布,画布也就是一个Bitmap实例。之后定义圆心点坐标。确定圆心点坐标则可以使用计算公式获得组成每个扇区弧线的点集合,弧线点集合与圆心点形成一个封闭的扇形区域。确定扇形区域后则可以开始绘制扇形图形并使用不同的颜色填充扇形区域。最后把绘制好的Bitmap实例通过PictureBox控件显示。清单7-8的执行结果如图7-6所示。

 

7-6:绘制饼图

      利用相同的原理,还可以实现柱图,如图7-7所示。

7-7:绘制柱图

车,把行李衣物什么的拉到北院去:【上一篇】
DM/OTA/WAP平台:【下一篇】
【相关文章】
  • NETCF开发之线程池编程
  • NETCF开发之注册表编程(2)
  • NETCF编程之MessageQueue控件
  • NETCF编程之Notification控件
  • NETCF编程之BindingSource控件
  • NETCF开发之文件和目录(1)
  • NETCF开发之文件和目录(2)
  • NETCF开发之文件和目录(3)
  • NETCF开发之文件和目录(4)
  • NETCF开发之文件与目录(5)
  • 【随机文章】
  • 在SCO UNIX 下安装ORACLE 7.3.4
  • 在Solaris系统环境中调节网卡参数
  • CSS控制字体效果的思考
  • 【原创】Liferay Portal二次开发指南(版权)
  • 为开发人员开发论坛
  • Different ways to install kernel hooks under Windows NT based systems
  • 用ASP建立邮件列表
  • struts多模块并行开发
  • 驯服Internet Explorer的几个绝招
  • 智能DNS服务器配置
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.