Creating a Simple Mathematical Captcha in C#

  1. using System;    
  2. using System.Collections.Generic;    
  3. using System.Linq;    
  4. using System.Web;    
  5. using System.Web.UI;    
  6. using System.Web.UI.WebControls;    
  7. using System.Drawing;    
  8. using System.Drawing.Imaging;    
  9. using System.Drawing.Text;    
  10. using System.IO;    
  11.     
  12. public partial class Capcha : System.Web.UI.Page    
  13. {    
  14.     protected void Page_Load(object sender, EventArgs e)    
  15.     {    
  16.         //Defining brush color    
  17.         Color brushColor = System.Drawing.Color.Green;    
  18.     
  19.         // Creating object for bitmap    
  20.         Bitmap objBitmap = new System.Drawing.Bitmap(100, 30);    
  21.     
  22.         // Creating object for Graphics class    
  23.         Graphics objGraphics = System.Drawing.Graphics.FromImage(objBitmap);    
  24.         objGraphics.Clear(Color.Transparent);    
  25.     
  26.         // Creating object for Font class    
  27.         Font objFont = new Font("Times New Roman", 14, FontStyle.Regular);    
  28.     
  29.         string inputNumberString = "";    
  30.     
  31.         Random r = new Random();    
  32.     
  33.         int a = r.Next(99, 999);    
  34.         int b = r.Next(99, 999);    
  35.     
  36.         int c = a + b;    
  37.     
  38.         inputNumberString = a.ToString() + " + " + b.ToString() + " = ";    
  39.     
  40.         //Storing the captcha value in the session    
  41.         Session["CaptchaValue"] = c.ToString();    
  42.     
  43.         SolidBrush myBrush = new SolidBrush(brushColor);    
  44.     
  45.         objGraphics.DrawString(inputNumberString, objFont, myBrush, 3, 3);    
  46.     
  47.         //Adding the content type    
  48.         Response.ContentType = "image/png";    
  49.     
  50.         System.IO.MemoryStream mem = new MemoryStream();    
  51.     
  52.         //Saving the bitmap image    
  53.         objBitmap.Save(mem, ImageFormat.Png);    
  54.     
  55.         //Writing the image to output screen    
  56.         mem.WriteTo(Response.OutputStream);    
  57.     
  58.         // Disposing Font Object    
  59.         objFont.Dispose();    
  60.     
  61.         // Disposing Graphics Object    
  62.         objGraphics.Dispose();    
  63.     
  64.         // Disposing Bitmap Object    
  65.         objBitmap.Dispose();    
  66.     }    
  67. }    
Detailed article is available in this link .. How to create simple mathmatical captcha in ASP.Net C#.Net and VB.Net