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;
namespace codeImage
{
/// <summary>
/// WebForm1 的摘要说明。
/// </summary>
public class WebForm1 : System.Web.UI.Page
{
protected System.Web.UI.HtmlControls.HtmlTable Table1;
private void Page_Load(object sender, System.EventArgs e)
{
codeShow(myCode(6));
//Response.Write(myCode(6));
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
/// <summary>
/// 产生随机字符
/// </summary>
/// <param name="num">随机字符的位数</param>
/// <returns></returns>
private string myCode(int num)
{
string str="";
int n=0;
Random r=new Random();
for(int i=0;i<num;i++)
{
n=r.Next();
if(n%2==0)
{
n=n%10;//得到1~9 之间的数
str+=n.ToString();
}
else
{
n=n%26; //得到1~25 之间的数
str+=((char)((int)'a'+n)).ToString();
}
}
return str;
}
private void codeShow(string str)
{
//实例化 Bitmap 类 初始化它的宽度和高度
Bitmap image=new Bitmap(str.Length*12,22);
//创建 GDI 绘图,并指定待绘制的图片
Graphics g=Graphics.FromImage(image);
//清除图片上的图像并以指定颜色填充
g.Clear(Color.White);
Random r=new Random();
try
{
//*********** 随机绘制干扰线条 ***********
for(int i=0;i<10;i++)
{
int x1=r.Next(image.Width);
int y1=r.Next(image.Height);
int x2=r.Next(image.Width);
int y2=r.Next(image.Height);
g.DrawLine(new Pen(Color.Yellow),x1,y1,x2,y2);
}
//****************************************
//****** 将字符串绘制到图片上 *************
//设置字体
Font font=new Font("宋体",14,(System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic) );
//设置纹理
System.Drawing.Drawing2D.LinearGradientBrush br=new System.Drawing.Drawing2D.LinearGradientBrush(new Rectangle(0,0,image.Width,image.Height),Color.Blue,Color.DarkRed,1