새 페이지 image.aspx를 만들고 네임스페이스를 추가합니다.
using System.드로잉.Imaging;
using System.IO;
그런 다음 Page_load 이벤트에 다음 코드를 복사합니다.
//4자리 확인 코드 생성
문자열 tmp = RndNum(4);
HttpCookie a = new HttpCookie("ImageV",tmp);
응답.쿠키.추가(a);
this.ValidateCode(tmp);
다음으로 페이지에 두 가지 메소드를 추가합니다:
private void ValidateCode(string VNum)
{
비트맵 이미지=null;
그래픽 g=null;
MemoryStream ms=null;
int gheight=VNum.Length*12;
Img=새 비트맵(gheight,25);
g=그래픽.FromImage(Img);
//배경색
g.Clear(색상.흰색);
//텍스트 글꼴
글꼴 f=new Font("Arial Black",10);
//텍스트 색상
SolidBrush s=new SolidBrush(Color.Black);
g.DrawString(VNum,f,s,3,3);
ms=새로운 MemoryStream();
Img.Save(ms,ImageFormat.Jpeg);
응답.ClearContent();
Response.ContentType="이미지/Jpeg";
Response.BinaryWrite(ms.ToArray());
g.Dispose();
Img.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(new Char [] {','});
문자열 VNum="";
int 임시=-1;
무작위 rand=new 무작위();
for(int i=1;i<VcodeNum+1;i++)
{
if(임시!=-1)
{
rand=new Random(i*temp*unchecked((int)DateTime.Now.Ticks));
}
int t=rand.Next(35);
if(temp!=-1&&temp==t)
{
RndNum(VcodeNum)을 반환합니다.
}
온도=t;
VNum+=VcArray[t];
}
VNum을 반환합니다.
}
a.aspx 페이지에서 확인 코드를 생성하려면 이름이 ImageButton1이라고 가정하고 페이지에 이미지 컨트롤을 추가한 다음 page_Load 이벤트에 다음 코드를 작성합니다.
ImageButton1.ImageUrl = "image.aspx" ;
이렇게 하면 인증코드가 제공됩니다. image.aspx 페이지는 어디에나 배치할 수 있지만 ImageButton1.ImageUrl은 정확하게 작성해야 하며, 상위 레벨에서도 가능합니다. ../image.aspx를 작성하면 매우 편리합니다.