/// <summary> /// Renders the Captcha Image. /// </summary> /// <param name="context">An <see cref="T:System.Web.HttpContext"></see> object that provides /// references to the intrinsic server objects (for example, Request, Response, Session, and Server) /// used to service HTTP requests.</param> public void ProcessRequest(HttpContext context) { HttpApplication application = context.ApplicationInstance; string encryptedCaptchaInfo = application.Request.QueryString["spec"]; CaptchaInfo captcha = CaptchaInfo.FromEncryptedString(encryptedCaptchaInfo); string textToRender = captcha.Text; if (string.IsNullOrEmpty(textToRender)) { application.Response.StatusCode = 404; application.Response.End(); } else { using (var captchaImage = new CaptchaImage()) { captchaImage.Width = captcha.Width; captchaImage.Height = captcha.Height; captchaImage.FontWarp = captcha.WarpFactor; captchaImage.Font = captcha.FontFamily; captchaImage.Text = textToRender; captchaImage.Image.Save(application.Context.Response.OutputStream, ImageFormat.Jpeg); } application.Response.ContentType = "image/jpeg"; application.Response.StatusCode = 200; application.Response.End(); } }