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