1、添加新项->一般处理程序,名称:DisplayPieChart.ashx 2、关键代码:<%@ WebHandler Language="C#" Class="DisplayPieChart" %>using System; using System.Web; using System.Drawing; using System.Drawing.Imaging;public class DisplayPieChart : IHttpHandler {
public void ProcessRequest (HttpContext context) {
2、关键代码:<%@ WebHandler Language="C#" Class="DisplayPieChart" %>using System;
using System.Web;
using System.Drawing;
using System.Drawing.Imaging;public class DisplayPieChart : IHttpHandler {
public void ProcessRequest (HttpContext context) {
using (Bitmap objBitmap = new Bitmap(300, 300)) // 300 * 300大小的图
{
using(Graphics objGraphics = Graphics.FromImage(objBitmap))
{
objGraphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias; objGraphics.Clear(Color.White);
Rectangle rect = new Rectangle(0, 0, 300, 300);
objGraphics.FillPie(Brushes.Blue, rect, 0, 246.7F); // 画0度~246.7度的蓝色的Pie
objGraphics.FillPie(Brushes.Red, rect, 246.7F, 360 - 246.7F); // 其余部分用红色Pie填充 context.Response.ContentType = "Image/GIF";
context.Response.Clear();
context.Response.BufferOutput = true;
objBitmap.Save(context.Response.OutputStream, ImageFormat.Gif);
}
}
}
public bool IsReusable {
get {
return false;
}
}}
另外可以在ProcessRequest()方法里通过context.Request.QueryString["id"]来取得参数。也就是说你可能通过<asp:Image ImageUrl="DisplayPieChart.ashx?id=33" ... />来传递参数。