📄 image.aspx.cs
字号:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Drawing;
using System.Drawing.Imaging;
using System.Drawing.Drawing2D;
namespace ValidationCode
{
public partial class Image : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Random rd = new Random(); //创建随机数对象
int Results = 0;
int Num1 = rd.Next(10); ;
int Num2 = rd.Next(10); ;
string Expressions = "";
int F=(rd.Next(4)+1);
switch (F)
{
case 1:
Results = Num1 + Num2;
Expressions = Num1 + "+ " + Num2 + "= " + Results;
break;
case 2:
Results = Num1 - Num2;
Expressions = Num1 + "- " + Num2 + "= " + Results;
break;
case 3:
Results = Num1 * Num2;
Expressions = Num1 + "×" + Num2 + "= " + Results;
break;
case 4:
if (Num2 > 0)
{
Results = Convert.ToInt16(Num1 / Num2);
Expressions = Num1 + "整除 " + Num2 + "= " + Results;
}
else
{
Results = Num1;
Expressions = Num1 + "整除 1= " + Results;
}
break;
}
//验证码值存放到Session中用来比较
Session["Code"] = Results.ToString();
//以下通过随机找一个现有图象产生一个画布Bitmap
//随机找个背景
string bgFilePath = Server.MapPath(".\\images\\bg" + new Random().Next(5) + ".jpg");
//string bgFilePath = Server.MapPath(".\\images\\bg10.jpg");
System.Drawing.Image imgObj = System.Drawing.Image.FromFile(bgFilePath);
//建立位图对象
Bitmap newBitmap = new Bitmap(imgObj, 290, 80);
//根据上面创建的位图对象创建绘图面
Graphics g = Graphics.FromImage(newBitmap);
//设置画笔颜色
SolidBrush brush = new SolidBrush(Color.Blue);
//定义一个含10种字体的数组
String[] fontFamily ={ "Arial", "Verdana", "Comic Sans MS", "Impact", "Haettenschweiler", "Lucida Sans Unicode", "Garamond", "Courier New", "Book Antiqua", "Arial Narrow" };
//通过循环,绘制每个字符,
for (int a = 0; a < Expressions.Length; a++)
{
//字体随机,字号大小30,加粗
Font textFont = new Font(fontFamily[rd.Next(9)],20, FontStyle.Bold);
//每次循环绘制一个字符,设置字体格式,画笔颜色,字符相对画布的X坐标,字符相对画布的Y坐标
g.DrawString(Expressions.Substring(a, 1), textFont, brush, 20 + a * 22, 25);
}
//保存画的图片到输出流中
newBitmap.Save(Response.OutputStream, ImageFormat.Gif);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -