admin 管理员组

文章数量: 1086019


2024年4月27日发(作者:网页设计制作教程html代码)

画图全攻略(上)-.NET教程,研发

本文代码是基于beta2研发

越来越多的web应用需要使用图表来进行数据显示和分析。例如:投票结果显示,公司生产情况统计

图显示分析等等。利用图表来显示数据,具备直观,清楚等长处。

传统的asp技术是不支持画图表的,那么就不得不利用active x或java applets来实现这个功能。新近

出现的解决了这个问题,只要利用中关于图像显示的类,就能够画出丰富,动态的图表

(如图1)。本文将要讲述如何利用技术结合技术画条形图和饼图。

图1

首先建立一个c#的类库。

打开,建立一个名为insight_rts新的类库工程,将解决方案的名称改为insight,将

文档名改为insight_,最后打开insight_文档。其中代码如下:

/*自定义类,通过输入不同的参数,这些类能够画不同的图像 */

using system;

using ;//用于文档存取

using ;//用于数据访问

using g;//提供画gdi+图像的基本功能

using ;//提供画gdi+图像的高级功能

using g2d;//提供画高级二维,矢量图像功能

using g;//提供画gdi+图像的高级功能

namespace insight_rts

{

public class piechart

{

public piechart()

{

}

public void render(string title, string subtitle, int width, int height, dataset chartdata, stream target)

{

const int side_length = 400;

const int pie_diameter = 200;

datatable dt = [0];

//通过输入参数,取得饼图中的总基数

float sumdata = 0;

foreach(datarow dr in )

{

sumdata += le(dr[1]);

}

//产生一个image对象,并由此产生一个graphics对象

bitmap bm = new bitmap(width,height);

graphics g = age(bm);

//配置对象g的属性

ransform((le(width))/side_length,(le(height))/side_length);

ingmode = t;

nderinghint = ias;

//画布和边的设定

();

ctangle(,0,0,side_length-1,side_length-1);

//画饼图标题

ring(title,new font("tahoma",24),,new pointf(5,5));

//画饼图的图例

ring(subtitle,new font("tahoma",14),,new pointf(7,35));

//画饼图

float curangle = 0;

float totalangle = 0;

for(int i=0;i<;i++)

{

curangle = le([i][1]) / sumdata * 360;

e(new

solidbrush(rtitemcolor(i)),100,65,pie_diameter,pie_diameter,totalangle,curangle);

e(,100,65,pie_diameter,pie_diameter,totalangle,curangle);

totalangle += curangle;

}

//画图例框及其文字

ctangle(,200,300,199,99);

ring("legend",new font("tahoma",12,),,new pointf(200,300));

//画图例各项

pointf boxorigin = new pointf(210,330);

pointf textorigin = new pointf(235,326);

float percent = 0;

for(int i=0;i<;i++)

{

ctangle(new solidbrush(rtitemcolor(i)),boxorigin.x,boxorigin.y,20,10);

ctangle(,boxorigin.x,boxorigin.y,20,10);

percent = le([i][1]) / sumdata * 100;

ring([i][0].tostring() + " - " + [i][1].tostring() + " (" + ng("0") +

"%)",new font("tahoma",10),,textorigin);


本文标签: 图像 显示 技术 利用 图表