54 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C#
		
	
	
	
| using System;
 | |
| using System.Collections.Generic;
 | |
| using System.Web;
 | |
| using System.Web.Services;
 | |
| using System.Web.SessionState;
 | |
| using System.Drawing.Imaging;
 | |
| 
 | |
| namespace FineUIPro.Web.Captcha
 | |
| {
 | |
|     /// <summary>
 | |
|     /// 生成验证码图片
 | |
|     /// </summary>
 | |
|     [WebService(Namespace = "http://tempuri.org/")]
 | |
|     [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
 | |
|     public class captcha : IHttpHandler, IReadOnlySessionState
 | |
|     {
 | |
| 
 | |
|         public void ProcessRequest(HttpContext context)
 | |
|         {
 | |
|             int width = 200;
 | |
|             int height = 30;
 | |
| 
 | |
|             try
 | |
|             {
 | |
|                 width = Convert.ToInt32(context.Request.QueryString["w"]);
 | |
|                 height = Convert.ToInt32(context.Request.QueryString["h"]);
 | |
|             }
 | |
|             catch (Exception)
 | |
|             {
 | |
|                 // Nothing
 | |
|             }
 | |
| 
 | |
|             // 从 Session 中读取验证码,并创建图片
 | |
|             CaptchaImage.CaptchaImage ci = new CaptchaImage.CaptchaImage(context.Session["CaptchaImageText"].ToString(), width, height, "Consolas");
 | |
| 
 | |
|             // 输出图片
 | |
|             context.Response.Clear();
 | |
|             context.Response.ContentType = "image/jpeg";
 | |
| 
 | |
|             ci.Image.Save(context.Response.OutputStream, ImageFormat.Jpeg);
 | |
| 
 | |
|             ci.Dispose();
 | |
|         }
 | |
| 
 | |
|         public bool IsReusable
 | |
|         {
 | |
|             get
 | |
|             {
 | |
|                 return false;
 | |
|             }
 | |
|         }
 | |
|     }
 | |
| }
 |