码迷,mamicode.com
首页 > Windows程序 > 详细

Delphi 模拟网站验证码(酷,把随机文字写道图片上)

时间:2016-03-13 19:31:25      阅读:215      评论:0      收藏:0      [点我收藏+]

标签:

 

[delphi] view plain copy
 
 print?
    1. function TfrmLabelPages.PwdImg(img: Timage): string;  
    2. var  
    3.   I,j,k:   Integer;  
    4.   vPoint:   TPoint;  
    5.   vLeft:   Integer;  
    6.   arrStr:array [1..36]of string ;  
    7.   strResult: string;  
    8. begin  
    9.   strResult := ‘‘;  
    10.   arrStr[1] := ‘0‘;  arrStr[2]:=‘1‘;  arrStr[3]:=‘2‘;  arrStr[4]:=‘3‘;  
    11.   arrStr[5] := ‘4‘;  arrStr[6]:=‘5‘;  arrStr[7]:=‘6‘;  arrStr[8]:=‘7‘;  
    12.   arrStr[9] := ‘8‘;  arrStr[10]:=‘9‘; arrStr[11]:=‘A‘; arrStr[12]:=‘B‘;  
    13.   arrStr[13] := ‘C‘; arrStr[14]:=‘D‘; arrStr[15]:=‘E‘; arrStr[16]:=‘F‘;  
    14.   arrStr[17] := ‘G‘; arrStr[18]:=‘H‘; arrStr[19]:=‘I‘; arrStr[20]:=‘J‘;  
    15.   arrStr[21] := ‘K‘; arrStr[22]:=‘L‘; arrStr[23]:=‘M‘; arrStr[24]:=‘N‘;  
    16.   arrStr[25] := ‘O‘; arrStr[26]:=‘P‘; arrStr[27]:=‘Q‘; arrStr[28]:=‘R‘;  
    17.   arrStr[29] := ‘S‘; arrStr[30]:=‘T‘; arrStr[31]:=‘U‘; arrStr[32]:=‘V‘;  
    18.   arrStr[33] := ‘W‘; arrStr[34]:=‘X‘; arrStr[35]:=‘Y‘; arrStr[36]:=‘Z‘;  
    19.   For j:=to 4  do  
    20.   begin  
    21.     Randomize;  
    22.     k := strtoint(Format(‘%.1d‘,[Random(36)]));  
    23.     strResult := strResult + trim(arrStr[k])  
    24.   end;  
    25.   vLeft := 10;  
    26.   img.picture := nil;  
    27.   for I := to Length(strResult) do  
    28.   begin  
    29.     with Img do  
    30.     begin  
    31.       Canvas.Font.Size := Random(10)+ 9;  
    32.       Canvas.Font.Color := RGB(Random(256) and $C0,  
    33.       Random(256) and $C0, Random(256) and $C0);  
    34.       if Random(2)=then  
    35.         Canvas.Font.Style := [fsBold]  
    36.       else Canvas.Font.Style := [];  
    37.       begin  
    38.         Canvas.Font.Name := Screen.Fonts[10];  
    39.         vPoint.X := Random(4)+ vLeft;  
    40.         vPoint.Y := Random(5);  
    41.         Canvas.TextOut(vPoint.X, vPoint.Y,strResult[I]);  
    42.         vLeft := vPoint.X + Canvas.TextWidth(strResult[I]);  
    43.       end;  
    44.     end;  
    45.   end;  
    46. end;  

http://blog.csdn.net/yanjiaye520/article/details/7957397

Delphi 模拟网站验证码(酷,把随机文字写道图片上)

标签:

原文地址:http://www.cnblogs.com/findumars/p/5272639.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!