图01:在ASP.NET页面中产生的数据饼图一.本文程序设计和运行的软件环境:(1).微软公司视窗2000服务器版。(2).Visual Studio .Net正式版,.Net FrameWork SDK版本号3705。(3).MDAC 2.6(Microsoft Data Acess Component)以上版本。二.数据字典:本文采用数据库类型、结构和《在ASP.NET页面中实现数据棒图》一文中完全相同,Table01数据表中的数据记录也和《在ASP.NET页面中实现数据棒图》中完全一样。具体的细节内容这里就不介绍了,读者可参阅前文。三.ASP.NET页面中实现数据Pie图的关键步骤及其实现方法:在本文中所要解决的问题和《在ASP.NET页面中实现数据棒图》中完全一样。第一步实现数据库连接和从数据库中读取数据,由于其解决方法和前文中完全一致,这里也就不具体介绍了,读者可参阅前文。下面就要解决根据从数据库中读取的数据绘制Pie图的方法。(1).绘制数据Pie图的实现方法:图01所示的Pie图看似是由一个圆形按照从数据库中得到数据值的大小分割而成的,其实在具体实现时并非如此,图01所示的Pie图其实由许多根据从数据库中数值大小,绘制相应的扇型,并由这些扇型组合而成的(2).简介ASP.NET页面中绘制扇型要使用到的类及其方法:在本文和前文中,在ASP.NET页面中实现绘图功能主要使用的是Graphics类,Graphics类被封装在命名空间"System.Drawing"中。Graphics类中定义了很多方法和属性,这些方法和属性都与绘图有关,Graphics类中的常用成员具体可参阅表01和表02,表01是Graphics类中的常用方法及其说明,表02是Graphics类中常用属性及其说明:| 方法 | 说明 |
| Clear | 清除整个绘图面并以指定背景色填充。 |
| Dispose | 释放由此Graphics对象使用的所有资源。 |
| DrawArc | 绘制一段弧线,它表示由一对坐标、宽度和高度指定的椭圆部分。 |
| DrawEllipse | 绘制一个由边框定义的椭圆。 |
| DrawIcon | 在指定坐标处绘制由指定的Icon对象表示的图像。 |
| DrawIconUnstretched | 绘制指定的Icon对象表示的图像,而不缩放该图像。 |
| DrawImage | 在指定位置并且按原始大小绘制指定的Image对象。 |
| DrawImageUnscaled | 在坐标对所指定的位置并且按其原始大小绘制指定的Image对象。 |
| DrawLine | 绘制一条连接由坐标对指定的两个点的线条。 |
| DrawLines | 绘制一系列连接一组Point结构的线段。 |
| DrawPie | 绘制一个扇形,该扇形由一个坐标对、宽度和高度以及两条射线所指定的椭圆定义。 |
| DrawPolygon | 绘制由一组Point结构定义的多边形。 |
| DrawRectangle | 绘制由坐标对、宽度和高度指定的矩形。 |
| DrawRectangles | 绘制一系列由Rectangle结构指定的矩形。 |
| DrawString | 在指定位置并且用指定的Brush和Font对象绘制指定的文本字符串。 |
| FillClosedCurve | 填充由Point结构数组定义的闭合基数样条曲线的内部。 |
| FillEllipse | 填充边框所定义的椭圆的内部,该边框由一对坐标、一个宽度和一个高度指定。 |
| FillPie | 填充由一对坐标、一个宽度、一个高度以及两条射线指定的椭圆所定义的扇形区的内部。 |
| FillPolygon | 填充Point结构指定的点数组所定义的多边形的内部。 |
| FillRectangle | 填充由一对坐标、一个宽度和一个高度指定的矩形的内部。 |
| FillRectangles | 填充由Rectangle结构指定的一系列矩形的内部。 |
| FillRegion | 填充Region 对象的内部。 |
| Flush | 强制执行所有挂起的图形操作并立即返回而不等待操作完成。 |
| FromHdc | 从设备上下文的指定句柄创建新的Graphics对象。 |
| FromHwnd | 从窗口的指定句柄创建新的Graphics对象。 |
| FromImage | 从指定的Image对象创建新Graphics对象。 |
| GetHdc | 获取与此Graphics对象关联的设备上下文的句柄。 |
| ReleaseHdc | 释放通过以前对此Graphics对象GetHdc方法的调用获得的设备上下文句柄。 |
| ResetClip | 将此Graphics对象的剪辑区域重置为无限区域。 |
| ResetTransform | 将此Graphics对象的全局变换矩阵重置为单位矩阵。 |