Créez une nouvelle page image.aspx et ajoutez l'espace de noms :
en utilisant System.Drawing.Imaging ;
using System.IO ;
Copiez ensuite le code suivant dans l'événement Page_load :
//Générer un code de vérification à 4 chiffres.
chaîne tmp = RndNum(4);
HttpCookie a = new HttpCookie("ImageV",tmp);
Réponse.Cookies.Add(a);
this.ValidateCode(tmp);
Ajoutez ensuite deux méthodes à la page :
private void ValidateCode(string VNum)
{
Bitmap Img = nul ;
Graphiques g = nul ;
MemoryStream ms=null ;
int geight=VNum.Length*12 ;
Img=nouveau Bitmap(gheight,25);
g=Graphics.FromImage(Img);
//Couleur de fond
g.Clair (Couleur.Blanc);
//Police du texte
Police f=nouvelle police("Arial Black",10);
//Couleur du texte
SolidBrush s=nouveau SolidBrush(Couleur.Noir);
g.DrawString(VNum,f,s,3,3);
ms=nouveau MemoryStream();
Img.Save(ms,ImageFormat.Jpeg);
Réponse.ClearContent();
Réponse.ContentType="image/Jpeg";
Réponse.BinaryWrite(ms.ToArray());
g.Dispose();
Img.Dispose();
Réponse.End();
}
chaîne privée RndNum(int VcodeNum)
{
chaîne Vchar="0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,g,h,i,j,k,l,m, n,o,p"+
",q,r,s,t,u,v,w,x,y,z";
string[] VcArray=Vchar.Split(new Char [] {','});
chaîne NuméroV="" ;
int temp=-1;
Random rand=new Random();
pour(int i=1;i<VcodeNum+1;i++)
{
si(temp!=-1)
{
rand=new Random(i*temp*unchecked((int)DateTime.Now.Ticks));
}
int t=rand.Next(35);
si(temp!=-1&&temp==t)
{
retourner RndNum (VcodeNum);
}
temp=t;
VNum+=VcArray[t];
}
renvoyer NuméroV ;
}
Si vous souhaitez générer un code de vérification sur la page a.aspx, ajoutez un contrôle d'image à la page, en supposant qu'il soit nommé : ImageButton1, puis écrivez le code suivant dans l'événement page_Load :
ImageButton1.ImageUrl = "image.aspx" ;
De cette façon, vous pouvez générer Le code de vérification est fourni. La page image.aspx peut être placée n'importe où, mais veuillez noter que ImageButton1.ImageUrl doit être écrit correctement. Le même niveau peut écrire directement image.aspx, et le niveau supérieur peut. écrire ../image.aspx C'est très pratique.