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;
 | 
						|
            }
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 |