zoukankan      html  css  js  c++  java
  • H ttpHandler实现动态绘制图片

    •HttpHandler是对请求的响应,可以输出普通的html内容,也可以输出图片、也可以输出一个文件(下载)<那么如何判断输出的文件类型?比如输出的是MP3还是.jpeg、png-->使用HTTP协议的contentType属性来判断>
    •输出一幅动态创建的图片(能看懂就可以)
     
    本例实现在已有图片的指定位置画一个字符串:
     1 <%@ WebHandler Language="C#" Class="MakeImg" %>
     2 
     3 using System;
     4 using System.Web;
     5 using System.Drawing;
     6 
     7 public class MakeImg : IHttpHandler {
     8     
     9     public void ProcessRequest (HttpContext context) {
    10         //context.Response.ContentType = "text/plain";
    11         //context.Response.Write("Hello World");
    12         
    13         //设置回传内容的类型
    14         context.Response.ContentType = "image/jpeg";
    15         using (Image img = Image.FromFile(context.Server.MapPath("Image\\00_05.jpg")))
    16         {
    17             Graphics g = Graphics.FromImage(img);
    18             g.DrawString("我是yaoxinchao", new Font("宋体", 16), Brushes.Blue, new Point(0, 0));
    19             //img.Save(context.Server.MapPath("Image\\1.jpeg", 
    20             img.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);
    21         }
    22     }
    23  
    24     public bool IsReusable {
    25         get {
    26             return false;
    27         }
    28     }
    29 
    30 }
    View Code
    •案例1:图片中显示访问者信息
     
    •案例2:填入朋友的姓名就能生成恶搞的图片链接
    •案例3:绘制图片水印
    •练习:制作简单验证码图片
    –网上看到的注册、登录时候的验证码也是动态生成的图片、55.la也是这样实现的原理。
     
  • 相关阅读:
    KVM环境搭建RHCS
    修改virt-manager默认磁盘格式
    前端基础之html
    并发编程
    网络编程
    常用模块
    模块与包
    迭代器、生成器、面向过程编程
    闭包函数和装饰器
    函数
  • 原文地址:https://www.cnblogs.com/yaoxc/p/3104198.html
Copyright © 2011-2022 走看看