Home Scripting - All Others Create random image during "sign up" process using C#.
Create random image during "sign up" process using C#. PDF Print E-mail
Written by Siva   
Monday, 22 November 2010 23:55

 

 

//Bellow code that I used to create random image fromduring "sing-up" process.

//Code follows:

 

using System;

using System.Collections;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Web;

using System.Web.SessionState;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.HtmlControls;

public partial class CheckCode : System.Web.UI.Page

{

    string checkCode;

    protected override void OnInit(EventArgs e)

    {

        base.OnInit(e);

        checkCode = this.CreateRandomCode(6);

        Session["CheckCode"] = checkCode;

 

    }

    protected void Page_Load(object sender, EventArgs e)

    {

       

        CreateImage(checkCode);

       

    }

    private void CreateImage(string checkCode)

    {

        System.Drawing.Bitmap image = new System.Drawing.Bitmap(Convert.ToInt32(Math.Ceiling((decimal)(checkCode.Length * 14))), 22);

        Graphics g = Graphics.FromImage(image);

       

 

        try

        {

          

            Random random = new Random();

            g.Clear(Color.AliceBlue);

           

            for (int i = 0; i < 25; i++)

            {

                int x1 = random.Next(image.Width);

                int x2 = random.Next(image.Width);

                int y1 = random.Next(image.Height);

                int y2 = random.Next(image.Height);

 

                g.DrawLine(new Pen(Color.Silver), x1, y1, x2, y2);

            }

 

            Font font = new System.Drawing.Font("Comic Sans MS", 12, System.Drawing.FontStyle.Bold);

            System.Drawing.Drawing2D.LinearGradientBrush brush = new System.Drawing.Drawing2D.LinearGradientBrush(new Rectangle(0, 0, image.Width, image.Height), Color.Blue, Color.DarkRed, 1.2f, true);

            g.DrawString(checkCode, font, new SolidBrush(Color.Red), 2, 2);

 

           

            for (int i = 0; i < 100; i++)

            {

                int x = random.Next(image.Width);

                int y = random.Next(image.Height);

 

                image.SetPixel(x, y, Color.FromArgb(random.Next()));

            }

 

            g.DrawRectangle(new Pen(Color.Silver), 0, 0, image.Width - 1, image.Height - 1);

 

            System.IO.MemoryStream ms = new System.IO.MemoryStream();

            image.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);

            Response.ClearContent();

            Response.ContentType = "image/Gif";

            Response.BinaryWrite(ms.ToArray());

        }

        finally

        {

            g.Dispose();

            image.Dispose();

        }

    }

 

    public string CreateRandomCode(int codeCount)

    {

        string allChar = "0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z";

        string[] allCharArray = allChar.Split(',');

        string randomCode = "";

        int temp = -1;

 

        Random rand = new Random();

        for (int i = 0; i < codeCount; i++)

        {

            if (temp != -1)

            {

                rand = new Random(i * temp * ((int)DateTime.Now.Ticks));

            }

            int t = rand.Next(36);

            if (temp != -1 && temp == t)

            {

                return CreateRandomCode(codeCount);

            }

            temp = t;

            randomCode += allCharArray[t];

        }

        return randomCode;

    }

}

 
 

Advertisement

Featured Links:
HREmail.com
Looking for job? Try HREmail.com
Want to have CMS based Websites?
Try siliconwebcreators.com to CMS based websites.
VM Solutions Inc
For best VM solutions..
Digital Procedure Inc.
Looking for Oracle /SAP /Weblogic Consulting services? visit digitalprocedure.com