在前两篇文章中,我们已经创建了一个HTTP处理程序,并实现了页面到HTTP处理程序之间的字符串参数的传递。下面让我们来作个比较实用的东西--一个类似于 Google Analytics 的GridView,实现后的效果见下图。
实现方法
Step1:实现动态生成图片。首先,为类库 mylib.system.web 添加对 System.Drawing 的引用。然后,编写如下代码根据传给 MyHandler.jxd 的参数动态生成一个图片,并写到 Response 的 OutputsStream 里面。MyHandler.cs的代码如下
实现方法
Step1:实现动态生成图片。首先,为类库 mylib.system.web 添加对 System.Drawing 的引用。然后,编写如下代码根据传给 MyHandler.jxd 的参数动态生成一个图片,并写到 Response 的 OutputsStream 里面。MyHandler.cs的代码如下
MyHandler.cs
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using System.Drawing;
using System.Drawing.Imaging;
namespace mylib.system.web
{
public class MyHandler : System.Web.IHttpHandler
{
#region IHttpHandler 成员
public bool IsReusable
{
get { return false; }
}
public void ProcessRequest(System.Web.HttpContext context)
{
// 获取参数n,并将其转换为Int型。
string n = context.Request.QueryString["n"];
int count = 0;
int.TryParse(n, out count);
// 使用GDI+函数画一个长方形。
Bitmap bmp = new Bitmap(count, 20);
Graphics graphic = Graphics.FromImage(bmp);
MemoryStream stream = new MemoryStream();
SolidBrush brush = new SolidBrush(Color.SteelBlue);
try
{
graphic.FillRectangle
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using System.Drawing;
using System.Drawing.Imaging;
namespace mylib.system.web
{
public class MyHandler : System.Web.IHttpHandler
{
#region IHttpHandler 成员
public bool IsReusable
{
get { return false; }
}
public void ProcessRequest(System.Web.HttpContext context)
{
// 获取参数n,并将其转换为Int型。
string n = context.Request.QueryString["n"];
int count = 0;
int.TryParse(n, out count);
// 使用GDI+函数画一个长方形。
Bitmap bmp = new Bitmap(count, 20);
Graphics graphic = Graphics.FromImage(bmp);
MemoryStream stream = new MemoryStream();
SolidBrush brush = new SolidBrush(Color.SteelBlue);
try
{
graphic.FillRectangle