zoukankan      html  css  js  c++  java
  • 利用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="动态生成图像" />

  • 相关阅读:
    《剑指Offer》题目:跳台阶
    《剑指Offer》题目:变态跳台阶
    《剑指Offer》题目:二叉树的镜像
    《剑指Offer》题目:树的子结构
    《剑指Offer》题目:合并两个排序的链表
    《剑指Offer》题目:链表中倒数第k个结点
    《剑指Offer》题目:调整数组顺序使奇数位于偶数前面
    Nginx配置http强制跳转到https
    并查集详解(转)
    AKOJ -- 1529 -- 寻找最大数
  • 原文地址:https://www.cnblogs.com/zhouhb/p/1955262.html
Copyright © 2011-2022 走看看