自己写的一个asp.net的生成曲线图的过程

asp.net 绘制曲线图 asp.net 绘制曲线图首先定义DrawClass类 using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System. 阅读详情
 
imginfo.jpg
这里是从Dataset里的数据生成曲线图.
我的Dataset是从表Sendrec里读取的数据,分别有Id,Sendid(订单号),Sendtime(记录时间),Sendnum(单位时间发送量/我这里是五分钟)几个字段

过程如下:
public void draw(Page page,DataSet ds,int Tnum){}
其中page是用来传递引用这个过程的页面,这样让页面是JPG方式直接向客户端输出生成的曲线图.
ds就是取出来的数据集了
Tnum只是我这里要用到的一个参数,不想让这个类去接触读取过程,所以把订单的总量直接取出后传递给它的.
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;

using System.Web.UI.HtmlControls;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
using System.Drawing;
using System.IO;


public class imgdraw
{
public imgdraw()
{

}

public void draw(Page page,DataSet ds,int Tnum)
{
//取得记录数量
int count= ds.Tables[0].Rows.Count;
//记算图表宽度
int wd= 80+ 20* (count - 1);
//设置最小宽度为800
if (wd< 800) wd= 800;
//生成Bitmap对像
Bitmap img=new Bitmap(wd,400);
//生成绘图对像
Graphics g = Graphics.FromImage(img);
//定义黑色画笔
Pen Bp =new Pen(Color.Black);
//定义红色画笔
Pen Rp =new Pen(Color.Red);
//定义银灰色画笔
Pen Sp =new Pen(Color.Silver);
//定义大标题字体
Font Bfont =new Font("Arial",12, FontStyle.Bold);
//定义一般字体
Font font =new Font("Arial",6);
//定义大点的字体
Font Tfont =new Font("Arial",9);
//绘制底色
g.DrawRectangle(new Pen(Color.White,400), 0, 0, img.Width, img.Height);
//定义黑色过渡型笔刷
LinearGradientBrush brush =new LinearGradientBrush(new Rectangle(0,0, img.Width, img.Height), Color.Black, Color.Black,1.2F, true);
//定义蓝色过渡型笔刷
LinearGradientBrush Bluebrush =new LinearGradientBrush(new Rectangle(0,0, img.Width, img.Height), Color.Blue, Color.Blue,1.2F, true);
//绘制大标题
g.DrawString(ds.Tables[0].Rows[0]["sendid"].ToString()+ "号订单发送情况曲线图", Bfont, brush,40, 5);
//取得当前发送量
int nums=0;
for (int i= 0; i< count; i++)
{
nums
+=Convert.ToInt32(ds.Tables[0].Rows[i]["sendnum"]);
}

//绘制信息简报
string info="订单发送时间:"+ds.Tables[0].Rows[0]["sendtime"].ToString()+" 曲线图生成时间:"+DateTime.Now.ToString()+" 订单总量:"+Tnum.ToString()+" 当前发送总量:"+nums.ToString();
g.DrawString(info, Tfont, Bluebrush,
40,25);
//绘制图片边框
g.DrawRectangle(Bp, 0,0, img.Width- 1, img.Height- 1);

//绘制竖坐标线
for (int i= 0; i< count; i++)
{
g.DrawLine(Sp,
40+20* i, 60, 40+20* i, 360);
}

//绘制时间轴坐标标签
for (int i= 0; i< count; i+=2)
{
string st = Convert.ToDateTime(ds.Tables[0].Rows[i]["sendtime"]).ToString("hh:mm");
g.DrawString(st, font, brush,
30+ 20* i, 370);
}

//绘制横坐标线
for (int i= 0; i< 10; i++)
{
g.DrawLine(Sp,
40,60+30*i,40+20*(count-1),60+30*i);
int s = 2500- 50* i * 5;
//绘制发送量轴坐标标签
g.DrawString(s.ToString(), font, brush, 10, 60+ 30* i);
}


//绘制竖坐标轴
g.DrawLine(Bp, 40,55, 40, 360);
//绘制横坐标轴
g.DrawLine(Bp, 40,360, 45 +20 * (count- 1),360);

//定义曲线转折点
Point[] p =new Point[count];
for (int i= 0; i< count; i++)
{
p[i].X
= 40 +20 * i;
p[i].Y
= 360- Convert.ToInt32(ds.Tables[0].Rows[i]["sendnum"])/ 5*3/5;
}

//绘制发送曲线
g.DrawLines(Rp, p);

for (int i= 0; i< count; i++)
{
//绘制发送记录点的发送量
g.DrawString(ds.Tables[0].Rows[i]["sendnum"].ToString(), font, Bluebrush, p[i].X, p[i].Y -10);
//绘制发送记录点
g.DrawRectangle(Rp, p[i].X -1, p[i].Y - 1,2, 2);
}

//绘制竖坐标标题
g.DrawString("发送量", Tfont, brush,5, 40);
//绘制横坐标标题
g.DrawString("发送时间", Tfont, brush,40, 385);


//保存绘制的图片
MemoryStream stream =new MemoryStream();
img.Save(stream, ImageFormat.Jpeg);
//图片输出
page.Response.Clear();
page.Response.ContentType
="image/jpeg";
page.Response.BinaryWrite(stream.ToArray());

}

}

嘿嘿!发表这个,就是一个图片的绘制方法的记录了.这里面还有很多不当之久,望指教.

 

转发至:http://www.cnblogs.com/aowind/archive/2006/11/23/569536.html     先保存,以后用得着再研究

用ASP.net/C#画条形图,饼状图,曲线图的源代码 这是我在网上搜的代码,但是是用ASP.net/C#画条形图,饼状图,曲线图的源代码,很可惜我的是WinForm,希望对有些人有帮助:Chart.aspx.cs的代码:using System;using System.Collections;using System.ComponentModel;using System.Data;using System.Web;using System.Web 阅读详情

相关推荐

ASP动态生成多条曲线图

ASP 从数据读取数据生成三条曲线图,数据在线填报。

18款WebChart曲线图表/柱状图ASP.NET实例集

18款WebChart曲线图表/柱状图ASP.NET实例集,如演示截图所示,包括了网页动态曲线图和柱状图显示程序,附带有ASP.NET/C#源代码文件,用起来不错。。下载:http://www.codesc.net/source/209.shtml...

shanshuiboy的专栏 1805

asp代码实现生成图表(ASP.NET)

ASP代码中包含生成excel数据表、生成饼状图表、生成折线图表、生成柱状图表、生成混合图表、通过代码生成图表等代码,下载解压后可直接打开

ASP.NET图形化的曲线图类

chart.cs using System;using System.Drawing;namespace Report{    /// &lt;summary&gt;    /// Chart 的摘要说明。    /// ========================================================================================...

weixin_34032792的博客 168

保姆级教程:用OpenCV的calibrateHandEye()搞定机器人手眼标定(附Python代码)

本文详细介绍了如何使用OpenCV的calibrateHandEye()函数完成机器人手眼标定,解决机械臂与相机坐标系对齐问题。教程涵盖从基础原理、数据采集到Python代码实现的完整流程,特别适合需要精确视觉引导的机器人应用开发。通过手眼标定,可确保机械臂准确抓取相机检测到的目标物体。

weixin_33712987的博客 515

Java实现双色球&大乐透随机选号算法——原理详解与代码实战

掌握核心语法:集合操作、随机数生成、排序。贴近实际场景:将编程知识应用于生活问题的解决。

wangchl0932的博客 4973

asp.net生成曲线图的过程

这里是从Dataset里的数据生成曲线图. 我的Dataset是从表Sendrec里读取的数据,分别有Id,Sendid(订单号),Sendtime(记录时间),Sendnum(单位时间发送量/我这里是五分钟)几个字段 过程如下: public void draw(Page page,DataSet ds,int Tnum){} 其中page是用来传递引用这个过程的页面,这样让页面

fredlau 痞子刘的博客 685

说一说系统/子系统规格说明

《系统/子系统规格说明》都是从用户的角度以软件的维度来描述系统的功能、性能、业务流程、数据流和控制流等,并描述内外部接口需求、资源使用情况等.

weixin_40725543的博客 5428

一个asp.net的生成曲线图的过程

效果如下:这里是从Dataset里的数据生成曲线图.我的Dataset是从表Sendrec里读取的数据,分别有Id,Sendid(订单号),Sendtime(记录时间),Sendnum(单位时间发送量/我这里是五分钟)几个字段过程如下:public void draw(Page page,DataSet ds,int Tnum){}其中page是用来传递引用这个过程的页面,这样让页面是J...

akpaul6677的博客 116

避坑指南:RK3576+Android14适配移远5G模组(RG200U)时,我遇到的3个‘巨坑’及解决方案

本文详细记录了RK3576芯片适配Android14系统与移远RG200U 5G模组过程中遇到的三大技术难题:RIL服务启动失败、HIDL兼容性矩阵配置错误及ttyUSB权限冲突。通过实战案例提供了动态库拷贝、HIDL版本链声明和SELinux策略调整等解决方案,帮助开发者高效完成5G模组集成,特别适用于基于kernel6.1的嵌入式开发场景。

weixin_30664051的博客 389

YOLOv8/v9工业零件缺陷检测实战指南:从原理到产线部署

摘要:本文系统介绍基于YOLOv8/v9的工业零件缺陷检测技术,从工业质检背景与需求出发,详解缺陷检测原理、算法构建与模型训练,提供从数据集准备到移动端部署的全流程实操方案。包含多尺度检测、纹理分析等高级技术,适配工业相机的环境优化策略,以及完整质检系统代码实现。适合工业视觉领域新手与进阶开发者,助力快速构建高鲁棒性的缺陷检测系统。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 1304

Asp.net 用ZedGraph 画曲线图

首先项目中引用了ZedGraph.dll 和ZedGraph.web.dll 并且在工具箱中添加了 画曲线图 aspx页面代码如下:     CookePic

Java_c# 4210

BAT031:按列表名单将路径a下的文件夹批量剪切到路径b

摘要:按列表名单将路径a下的文件夹批量剪切到路径b。

qq_31762031的博客 1218

用ASP.NET with C# 绘制曲线图(Curve图)

用ASP.NET with C# 绘制曲线图(Curve图) 画曲线图,网上有很多代码可以参考,也有不少开放的组件可以用,但是我是本着自己能写就自己写的原则,毕竟自己写的代码所有过程清楚明白,放心!错了也得了一个教训,值得!网上的例子多数画曲线图是用DrawLine()函数将各个点一点一点连接起来,所以大部分时候也叫折线图。但是.NET中还有一个DrawCurve()函数,它可以直接画

风也红了的专栏 6312

8 卡 GPU 服务器与 NVLink/NVSwitch 互联技术

NVLink 是一种点对点的高速互连技术,单条 NVLink 就是一条全双工双路信道,每条 NVLink 链路可以将 2 个 GPU 直连起来,并且每个 GPU 可以提供多条 NVLink 接口连接多个 GPU。另外,PCIe Switch 互联拓扑中的 GPU 之间可能存在 GPU0→Switch0→CPU0→CPU1→Switch1→GPU7 的通信链路,它的通信不可避免的存在一定的延迟,因而更适合用于对信号效率不敏感且追求性价比的使用场景,如:推理、云计算等领域。本文讨论的是单机 GPU 卡间互联。

烟云的计算 4262

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

实例:asp.net生成曲线图的过程

这里是从Dataset里的数据生成曲线图. 我的Dataset是从表Sendrec里读取的数据,分别有Id,Sendid(订单号),Sendtime(记录时间),Sendnum(单位时间发送量/我这里是五分钟)几个字段 过程如下: public void draw(Page page,DataSet ds,int Tnum){} 其中page是用来传递引用这个过程的页面,这样让页面是J

寒冬玉 636

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

asp.net的生成曲线图的过程

using System;using System.IO;using System.Drawing;using System.Drawing.Drawing2D;using System.Drawing.Imaging;using System.Data;using System.Configuration;using System.Collections;using System.Web;usi

lvlv526的专栏 1152

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

上一篇: c# split函数使用
下一篇: asp.net时间控件之用法
sdudubing
博客等级 码龄16年 117粉丝 25原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值