利用ASP.NET一般处理程序动态生成Web图像(转)
作者:@keenleung
本文为作者原创,转载请注明出处:https://www.cnblogs.com/KeenLeung/p/3313742.html
目录
摘自: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;
}
}
}
生成的图像如图:
既可以通过浏览器以URL来访问一般处理程序,也可以作为一个图像源被<img>元素所引用:
<img src="CreateImage.ashx" alt="动态生成图像" />
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!