您的位置:首页 > 理论基础 > 计算机网络

在网络后台动态生成图片,项目使用到 转载之

2017-12-29 10:51 489 查看

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

一般处理程序的扩展名为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;

}

}

}

生成的图像如图:



既可以通过浏览器以URL来访问一般处理程序,也可以作为一个图像源被<img>元素所引用:

<img src="CreateImage.ashx" alt="动态生成图像" />

拣尽寒枝不肯栖,寂寞沙洲。

原文链接 https://www.cnblogs.com/zhouhb/archive/2011/02/15/1955262.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  asp 图片 web