Создайте новую страницу image.aspx и добавьте пространство имен:
используя System.Drawing.Imaging;
используя System.IO.
Затем скопируйте следующий код в событие Page_load:
//Создаем 4-значный код подтверждения;
строка tmp = RndNum(4);
HttpCookie a = новый HttpCookie("ImageV",tmp);
Response.Cookies.Add(a);
this.ValidateCode(tmp);
Затем добавьте на страницу два метода:
Private void ValidateCode(string VNum)
{
Растровое изображение Img=null;
Графика г = ноль;
MemoryStream мс = нуль;
int gheight = VNum.Length * 12;
Img = новое растровое изображение (высота, 25);
g=Graphics.FromImage(Img);
//Цвет фона
г.Прозрачный(Цвет.Белый);
//Текстовый шрифт
Шрифт f=новый шрифт("Arial Black",10);
//Цвет текста
SolidBrush s = новый SolidBrush(Color.Black);
g.DrawString(VNum,f,s,3,3);
мс = новый MemoryStream ();
Img.Save(ms,ImageFormat.Jpeg);
Ответ.ОчиститьСодержимое();
Response.ContentType="изображение/Jpeg";
Response.BinaryWrite(ms.ToArray());
г.Dispose();
Изображение.Dispose();
Ответ.Конец();
}
частная строка RndNum (int VcodeNum)
{
строка Vchar="0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,g,h,i,j,k,l,m, н,о,п"+
",q,r,s,t,u,v,w,x,y,z";
string[] VcArray=Vchar.Split(новый Char [] {','});
строка VNum="";
int temp=-1
Случайный рандом=новый Случайный();
for(int i=1;i<VcodeNum+1;i++)
{
если(темп!=-1)
{
rand=new Random(i*temp*unchecked((int)DateTime.Now.Ticks));
}
int t=rand.Next(35);
если(темп!=-1&&темп==т)
{
вернуть RndNum (VcodeNum);
}
температура = т;
VNum+=VcArray[t];
}
вернуть ВНум;
}
Если вы хотите создать код проверки на странице a.aspx, добавьте на страницу элемент управления изображением, предполагая, что он имеет имя: ImageButton1, а затем напишите следующий код в событии page_Load:
ImageButton1.ImageUrl = "image.aspx" ;
Таким образом вы можете создать код проверки. Страницу image.aspx можно разместить где угодно, но обратите внимание, что ImageButton1.ImageUrl должен быть написан правильно. Тот же уровень может напрямую записывать image.aspx, а верхний уровень — может. напишите ../image.aspx Это очень удобно.