Asp.Net教程,WinForm教程,Asp.Net MVC,vs2008教程,vs2010教程,Silverlight技术,源码下载,Asp.Net视频教程
全站热门标签
vs2010 Silverlight 存储过程 水晶报表 ADO.NET JavaScript LINQ AjaxPro DataGridView 面向对象 Extjs GridView XML DevExpress HTML教程 Oracle jQuery 分页 GDI+ Visual C++2010 MySQL Office2010 WPF MVC Dojo WCF4.0 VB.NET Sql2005 textbox cookie WCF WinForm Discuz!NT SQL经典语句 T-SQL checkbox ASPxGridView F# asp.net SQL VS2008新特性 DropDownList Access TreeView Ajax VS2008 页面执行时间 Flex 字符串 回调 VB2005 DataSet C#时间 ASP.NET性能优化 用户在线检测 动画
尚未分类 LINQ教程 Enterprise技术 性能优化/调试 水晶报表与打印 安全与加密图形图像 文件处理 基础教程 Web Services 内置对象 控件示例 正则表达式\采集 ADO.NET 缓存\泛型\线程 XML技术 Url重写\静态页 vs2008综合教程
当前位置: 主页 > ASP.NET教程 > 图形图像 >

ASP.NET画图系列之实现Pie图(圆饼图)

时间:2010-04-30 00:38来源:未知 作者:admin 点击:

ASP.NET自身提供的画图功能也是很强大的,在实际的项目中有时也会经常用到的,实现这样的功能方法很多,诸如水晶报表之类也可以实现,但有时我们只想实现单一的某些功能或许就可以考虑画图的功能了。实现画图其实并不难,这里介绍的是通过Graphics类来产生一个Bitmap对象,接下去你是直接写到页面还是生成某个图片保存至某个路径,看你自己方便了,gfreesky在这里选择了后者作为示例。废话不多说,先看下效果:

 


 

好了,切入正题,首先页面部分

<form id="form1" runat="server">
        
<div>
            
<asp:Image ID="Image1" runat="server" />
        
</div>
    
</form>

后台cs:

using System.Data.SqlClient;
using System.Drawing;
using System.Drawing.Imaging;
using SkyNet.Chart;
using SkyNet.OA.OAWebUtility;

public partial class SkyNetChart_MyBar : System.Web.UI.Page
{
    
protected void Page_Load(object sender, EventArgs e)
    {

        
if (!IsPostBack)
        {
            InitChart();
        }
    }
    
private void InitChart()
    {

        Bar barImg 
= new Bar(); //定义一个画图类实例
        barImg.Title = "2008年销售情况统计表";
        barImg.TextColor 
= Color.Red;
        barImg.DS 
= GetDSBySale(); //这里若不设置,则采用默认的

        
string imgPath = "../ChartImages/" + "MyBar.jpg";
        ChartHelper.CreateChartByBar(barImg, imgPath, ImageFormat.Jpeg);
        
this.Image1.ImageUrl = imgPath;
    }
    
private DataSet GetDSBySale()
    {
        
string constr = "server=.;database=test;uid=sa;pwd=";
        SqlConnection con 
= new SqlConnection(constr);
        con.Open();
        
string cmdStr = "select CountryName,SaleSum from SaleOfCountry ";   //注意前面第一个字段对应Keys,第二个字段为Values
        SqlDataAdapter da = new SqlDataAdapter(cmdStr, con);
        DataSet ds 
= new DataSet();
        da.Fill(ds, 
"SaleOfCountry");
        
return ds;
    }

}

 

我这里为了方便就把某些代码写到页面里了,读者请自行考虑!

SkyNet.Chart是一个命名空间,里面有Pie类,随后我将贴出,还包括我后面要讲的Curve类、Bar类等

其中的ChartHelper.CreateChartByPie(pieImg, imgPath, ImageFormat.Jpeg)方法我是在另外一个命名空间里定义的,命名空间是SkyNet.OA.OAWebUtility,随后我也会贴出

下面贴出SkyNet.Chart空间下的Pie类

Code
 

至此,Pie结束

下面贴出ChartHelper类

 

 public class ChartHelper
    {
        
/// <summary>
        
/// 创建一个Pie图--圆饼图
        
/// </summary>
        
/// <param name="pieImg">Pie类的实例(设置标题、宽度、高度等)</param>
        
/// <param name="imgPath">生成Pie图的图片路径(相对路径)</param>
        
/// <param name="imgFormat">生成Pie图的图片格式(如:ImageFormat.Jpeg)</param>
        public static void CreateChartByPie(Pie pieImg,string imgPath,ImageFormat imgFormat)
        {
            
try
            {
                
if (pieImg == null)
                {
                    pieImg.Title 
= "Pie图统计表示例";
                    pieImg.TitleBrush 
= Brushes.Red;
                    pieImg.Width 
= 800;
                    pieImg.Height 
= 500;
                }
                Bitmap bmp 
= pieImg.CreateImage();
                
string savePath = HttpContext.Current.Server.MapPath(imgPath);
                bmp.Save(savePath, imgFormat);
            }
            
catch(Exception ee)
            {
                
throw ee;
            }
        }
}

 

好到此,画图全部结束。

(责任编辑:admin)
Tags:asp.net画图
责任编辑:admin
返回顶部
------分隔线----------------------------
推荐内容
骆驼户外男 真皮磨砂日常休闲鞋 低帮 2011秋冬新款 专柜正品特价 骆驼户外男 真皮磨砂日常休闲鞋 低帮 2011秋冬新款 专柜正品特价
  • 绘制几何图形:使用android.graphics类

    如何在和机上绘制2D图形呢?这是许多android游戏开发都是常提到的问题,在android SDK 当中,并没有Java Graphics2D的函数可以使用,...

  • .Net下二进制形式的文件(图片)的存储与读取

    看到标题,二进制形式的文件是很广的。这里我主要谈谈图片以二进制形式的数据读取和存储。 .Net下图片的常见存储与读取凡是有以下几种: 存储图片:以二进制的形式存...

  • C#图片验证码破解

    1 public class GetImageValue 2 { 3 // 设定图片RGB字符串 4 string []ArrayList = new stri...

  • ASP.NET画图系列之实现Curve图(曲线图)

    ASP.NET画图系列,今天要实现的是Curve图,如果各位朋友有什么不明白的可以留言或Email给我,我的Email:gfreesky@gmail.com 废...

  • ASP.NET画图系列之实现Bar图(柱状图)

    前面已经实现了Pie和Curve图,今天我们来实现Bar,就是柱状图,这个的实现和前面2种基本上差不多,还是让我们先看看效果再说. 效果图: 下面开始页面部分:...

  • ASP.NET画图系列之实现Pie图(圆饼图)

    ASP.NET自身提供的画图功能也是很强大的,在实际的项目中有时也会经常用到的,实现这样的功能方法很多,诸如水晶报表之类也可以实现,但有时我们只想实现单一的某些...

  • ASP.NET 2.0 HttpHandler实现生成图片验证码(示例代码下载)

    学习整理了一下 (一).功能 用HttpHandler实现图片验证码 (二).代码如下 1. 处理程序文件 ValidateImageHandler.ashx代...

  • 两种获取灰度图像的方法

    在图像处理程序开发中,常会遇到将一幅彩色图像转换成灰度图像的情况,笔者在最近的一个项目中便遇到了这点。经过一翻努力最终解决,想想有必要分享一下,于是便写下此文。...

  • Asp.net网页截图的实现方法

    源代码如下: using System; using System.Drawing; using System.Drawing.Imaging; using S...

  • ASP.NET图片渐变轮换效果

    一.静态的 HTML HEAD title图片渐变轮换效果/title meta name=generator content=editplus meta na...

  • ASP.NET添加水印(从Discuz!Nt挖出来的)

    这是从 Discuz!Nt 挖出来的代码 添加水印的强大代码。功能很强大。可以添加图片水印和文字水印两种 编写也很好。添加进去的效果非常好。 供大家欣赏 现在就...

  • ASP.NET2.0图片格式转换

    第一步:打开页面 第二步:选择一副Jpg格式的图片 第三步:转换为GIF格式,明显看出图片画质降低。 后台代码: using System; using Sys...

  • 添加文字水印类代码

    usingSystem; usingSystem.Collections.Generic; usingSystem.Text; usingSystem.Draw...

  • ASP.NET生成随机验证码示例

    常用的生成验证码程序,图片效果如下: 源程序如下: using System; using System.Drawing; using System.Drawi...