C#在WinForm中插入饼状图和柱状图等图标
当我们的软件需要各种饼状图和柱状图来表示数据时,我们或许会想到用Offices中的图形控件或是第三方控件,但现在的第三方控件大都需要注册,有些免费的控件会有开发商的标记等。而对于使用Offices的图形控件来说,并不能在程序中得于很好控制,其使用的简易程度也较低,所以在这我给出在C#中使用GDI+实现饼状图和柱状图跟数据库联接显示数据的方法。
using System;
using ;//用于文件存取
using ;//用于数据访问
using ;//提供画GDI+图形的基本功能
using ;//提供画GDI+图形的高级功能
using ;//提供画高级二维,矢量图形功能
using ;//提供画GDI+图形的高级功能
namespace BaseLayer
{
public class PieChart
{
public PieChart()
{
}
//Render是图形大标题,图开小标题,图形宽度,图形长度,饼图的数据集和饼图的数据集要表示出来的数据
public Image Render(string title, string subTitle, int width, int height, DataSet chartData,int DataLine)
{
const int SIDE_LENGTH = 400;
const int PIE_DIAMETER = 200;
DataTable dt = [0];
//通过输入参数,取得饼图中的总基数
float sumData = 0;
foreach(DataRow dr in )
{
sumData += (dr[DataLine]);
}
//产生一个image对象,并由此产生一个Graphics对象
Bitmap bm = new Bitmap(width,height);
Graphics g = (bm);
//设置对象g的属性
(((width))/SIDE_LENGTH,((height))/SIDE_LENGTH);
= ;
= ;
//画布和边的设定
();
(,0,0,SIDE_LENGTH-1,SIDE_LENGTH-1);
//画饼图标题
(title,new Font(Tahoma,14),,new PointF(5,5));
//画饼图的图例
(subTitle,new Font(Tahoma,12),,new PointF(7,35));
//画饼图
float curAngle = 0;
float totalAngle = 0;
for(int i=0;i<;i++)
{
curAngle = ([i][DataLine]) / sumData * 360;
(new SolidBrush((i)),100,65,PIE_DIAMETER,PIE_DIAMETER,totalAngle,curAngle);
(,100,65,PIE_DIAMETER,PIE_DIAMETER,totalAngle,curAngle);
totalAngle += curAngle;
}
//画图例框及其文字
(,200,300,199,99);
(图表说明,new Font(Tahoma,12,),,new PointF(200,3
C#在WinForm中插入饼状图和柱状图等图表 来自淘豆网m.daumloan.com转载请标明出处.