| 网站首页 | 硬件维修 | 应用学院 | 网络组建 | 网站制作 | 菜鸟黑客 | 编程之道 | 数码大全 | 娱乐休闲 | 软件下载 | 在线视频 | 请您留言 | 技术论坛 | 
专 题 栏 目
最 新 热 门
最 新 推 荐
相 关 文 章
  • ASP.NET中在线用户统计

  • 用ASP.NET开发Web服务的五则…

  • 带你走进ASP.NET(4)

  • 带你走进ASP.NET(3)

  • 带你走进ASP.NET(2)

  • 带你走进ASP.NET(1)

  • 在 ADO.NET 数据集中浏览多个…

  • 在 ADO.NET 数据集中浏览多个…

  • 在 ADO.NET 数据集中浏览多个…

  • 在 ADO.NET 数据集中浏览多个…

  • Q
    您现在的位置: 我是IT人 >> 编程之道 >> .NET >> 编程文章正文
    ASP.NET画图全攻略(下)         
    ASP.NET画图全攻略(下)
    作者:小秦 文章来源:转载 点击数: 更新时间:2005-3-13
    [ 字体:缩小 正常 放大 | 双击自动滚屏 ]
    请选择合适的字体颜色:
         我们在前面已经完成了饼图和条形图的自定义类,下面我们将要应用这些类了。
      使用vs.net新建一个名为Insight_cs的Web应用程序,并且添加到刚才的Insight工程中。删除默认的webform1.aspx文件,新建一个名为SalesChart.aspx文件。打开此文件,在代码模式下,将第一行替换为:
      <%@ Page ContentType="image/gif" Language="c#" AutoEventWireup="false" Codebehind="SalesChart.aspx.cs" Inherits="Insight_cs.SalesChart" %>
      打开文件SalesChart.aspx.cs,其中代码如下所示:
      using System;
      using System.Data;
      using System.Web;
      using System.IO;
      using System.Data.SqlClient;
      using Insight_cs.WebCharts;//这是自定义的名字空间
      namespace Insight_cs
      {
       public class SalesChart : System.Web.UI.Page
       {
       public SalesChart()
       {
       Page.Init += new System.EventHandler(Page_Init);
       }
       private void Page_Load(object sender, System.EventArgs e)
       {
       //从数据库中取得数据,用于画图
       string sql = "SELECT " +"Year(sa.ord_date) As [Year], " +"SUM(sa.qty) As [Qty] " +"FROM " +"sales sa " +"inner join stores st on(sa.stor_id = st.stor_id) " +"GROUP BY " +"Year(sa.ord_date) " + "ORDER BY " + "[Year]";
       string connectString = "Password=ben; User ID=sa; DataBase=pubs;Data Source=localhost";
       SqlDataAdapter da = new SqlDataAdapter(sql,connectString);
       DataSet ds = new DataSet();
       int rows = da.Fill(ds,"chartData");
       //设定产生图的类型(pie or bar)
       string type = "";
       if(null==Request["type"])
       {
       type = "PIE";
       }
       else
       {
       type = Request["type"].ToString().ToUpper();
       }
       //设置图大小
       int width = 0;
       if(null==Request["width"])
       {
       width = 400;
       }
       else
       {
       width = Convert.ToInt32(Request["width"]);
       }
       int height = 0;
       if(null==Request["height"])
       {
       height = 400;
       }
       else
       {
       height = Convert.ToInt32(Request["height"]);
       }
       //设置图表标题
       string title = "";
       if(null!=Request["title"])
       {
       title = Request["title"].ToString();
       }
       string subTitle = "";
       if(null!=Request["subtitle"])
       {
       subTitle = Request["subtitle"].ToString();
       }
       if(0<rows)
       {
       switch(type)
       {
       case "PIE":
       PieChart pc = new PieChart();
       pc.Render(title,subTitle,width,height,ds,Response.OutputStream);
       break;
       case "BAR":
       BarChart bc = new BarChart();
       bc.Render(title,subTitle,width,height,ds,Response.OutputStream);
       break;
       default:
      
       break;
       }
       }
       }
       private void Page_Init(object sender, EventArgs e)
       {
       //
       // CODEGEN: This call is required by the ASP.NET Web Form Designer.
       //
       InitializeComponent();
       }
       #region Web Form Designer generated code
       /// <summary>
       /// Required method for Designer support - do not modify
       /// the contents of this method with the code editor.
       /// </summary>
       private void InitializeComponent()
       {
       this.Load += new System.EventHandler(this.Page_Load);
       }
       #endregion
       }
      }
      以上的代码并没有什么难的,这里就不做分析了。
      在vs.net中,打开Insight_cs solution,右击”引用“,将出现”添加引用“,将组件文件Insight_cs.WebCharts.dll加入,使其成为项目中的namespace。
      下面我们就可以浏览结果了。
      首先建立一个demochart.aspx文件,在其代码中,加入一下内容:
      <IMG alt="Sales Data - Pie"
      src="SalesChart.aspx?type=pie&width=300&height=30
      0&title=Sales+by+Year&subtitle=Books">
      <IMG alt="Sales Data - Bar"
      src="SalesChart.aspx?type=bar&width=300&height=30
      0&title=Sales+by+Year&subtitle=Books">
      type表示显示图形的类型,是饼图pie,还是条形图bar。
      width,height表示图形的大小。
      title表示大标题文字。
      subtitle表示小标题文字。
      其结果显示如图1(图片在文章《ASP.NET画图全攻略(上)》)。
      
      由此,我们完成了利用asp.net技术画图的过程。
      综合起来,可以总结出以下几点:1.利用ASP.NET技术,可以在不使用第三方组件的情况下,画出理想的图形。2.画图核心是构造一个BitMap(位图)对象,它为要创建的图形提供了内存空间。然后,利用有关namespace提供的类和方法画出图形。最后就可以调用Bitmap对象的“Save”方法,将其发送到任何.NET的输出流中,这里是直接将图形的内容发送到浏览器,而没有将其保存到磁盘中。
    编程文章录入:小秦    责任编辑:小秦 
  • 上一篇编程文章:

  • 下一篇编程文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    | 设为首页 | 加入收藏 | 联系站长 | 关于我们 | 友情链接 | 版权申明 |