利用ASP.NET一般处理程序动态生成Web图像(转)

摘自:http://www.cnblogs.com/zhouhb/archive/2011/02/15/1955262.html

一般处理程序的扩展名为ashx,它实现了IHttpHandler接口,可以响应HTTP请求。我们可以用一般处理程序来动态生成Web图像。

<%@ WebHandler Language="C#" class="CreateImage" %>

using System;
using System.Web;
using System.Drawing;
using System.Drawing.Imaging;
public class CreateImage : IHttpHandler {
    
    public void ProcessRequest (HttpContext context) {

using (Bitmap img = new Bitmap(100, 25))//实例化Bitmap
        {
            using (Graphics g = Graphics.FromImage(img))//从Bitmap实例创建Graphics实例
            {
                g.Clear(Color.Blue);//以蓝色填充图片
                Font f = new Font("宋体", 16);
                Brush b = new SolidBrush(Color.White);
                g.DrawString("寂寞沙洲", f, b, 0, 0);//输出文字
            }
            context.Response.Clear();
            context.Response.ContentType = "Image/JPEG";//通知浏览器发送的数据是JPEG格式的图像
            img.Save(context.Response.OutputStream, ImageFormat.Jpeg);//向浏览器发送图像数据
            context.Response.End();
        }
    }
    // 是否自动缓存此对象以供下次复用
    public bool IsReusable {
        get {
            return false;
        }
    }

}

生成的图像如图:

利用ASP.NET一般处理程序动态生成Web图像(转)

既可以通过浏览器以URL来访问一般处理程序,也可以作为一个图像源被<img>元素所引用:
<img src="CreateImage.ashx" alt="动态生成图像" />

拣尽寒枝不肯栖,寂寞沙洲。
上一篇:Webview的使用和注意事项


下一篇:StringBuffer类和String类(原文地址 : http://www.cnblogs.com/springcsc/archive/2009/12/03/1616330.html)