Using System;
Using System.Collections.Generic;
Using System.Drawing;
Using System.Drawing.Drawing2D;
Using System.Drawing.Imaging;
Using System.IO;
Using System.Linq;
Using System.Text;
Namespace Zc.common
{
public class Validatecode
{
public static string Createvalidatenumber (int length)
{
int[] randmembers = new Int[length];
int[] validatenums = new Int[length];
System.Text.StringBuilder validatenumberstr = new System.Text.StringBuilder ();
Generate a starting Sequence value
int seekseek = unchecked ((int) DateTime.Now.Ticks);
Random Seekrand = new Random (Seekseek);
int beginseek = (int) seekrand.next (0, Int32.maxvalue-length * 10000);
Int[] seeks = new Int[length];
for (int i = 0; i < length; i++)
{
Beginseek + = 10000;
Seeks[i] = Beginseek;
}
Generate random numbers
for (int i = 0; i < length; i++)
{
Random rand = new random (seeks[i]);
int pownum = 1 * (int) Math.pow (ten, length);
Randmembers[i] = rand. Next (Pownum, Int32.MaxValue);
}
Extracting random numbers
for (int i = 0; i < length; i++)
{
String numstr = Randmembers[i]. ToString ();
int numlength = Numstr.length;
Random rand = new Random ();
int numposition = rand. Next (0, numLength-1);
Validatenums[i] = Int32.Parse (numstr.substring (numposition, 1));
}
Generate Verification Code
for (int i = 0; i < length; i++)
{
Validatenumberstr.append (Validatenums[i]. ToString ());
}
return validatenumberstr.tostring ();
}
public static byte[] Createvalidategraphic (string validatenum)
{
using (Bitmap image = new Bitmap ((int) math.ceiling (validatenum.length * 12.5+10), 22))
{
using (Graphics g = graphics.fromimage (image))
{
Generate Random Generators
Random random = new random ();
Clear the background color of the picture
G.clear (System.Drawing.Color.White);
Interference lines for drawing pictures
for (int i = 0; i <; 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 (System.Drawing.Color.Silver), x1, y1, x2, y2);
}
System.Drawing.Font Font = new System.Drawing.Font ("Arial", +, (FontStyle.Bold | Fontstyle.italic));
LinearGradientBrush brush = new LinearGradientBrush (new Rectangle (0, 0, image. Width, image. Height),
System.Drawing.Color.Blue, System.Drawing.Color.DarkRed, 1.2f, true);
g.DrawString (validatenum, Font, Brush, 3, 2);
Foreground interference point of picture painting
for (int i = 0; i <; i++)
{
int x = random. Next (image. Width);
int y = random. Next (image. Height);
Image. SetPixel (x, Y, System.Drawing.Color.FromArgb (random. Next ()));
}
Draw the border line of a picture
G.drawrectangle (New Pen (System.Drawing.Color.Silver), 0, 0, image. Width-1, image. HEIGHT-1);
Save picture data
using (MemoryStream stream = new MemoryStream ())
{
Image. Save (stream, imageformat.jpeg);
return stream. ToArray ();
}
}
}
}
}
}
. NET create random verification code with pictures