delphi2007 教程

delphi2007 教程

首页 新随笔 联系 聚合 管理
  1013 Posts :: 0 Stories :: 28 Comments :: 0 Trackbacks
求一个识别验证码的程序(顶者有分) Delphi / Windows SDK/API
http://www.delphi2007.net/DelphiMultimedia/html/delphi_20061019103808225.html
急求能识别出  
  http://www.harbin.gov.cn/hrbzfw/poll_sdmp/images/vimage.php?show=true  
  验证码的程序,分不够可以再加

试下这个:  
  http://www.2ccc.com/article.asp?articleid=3084

回楼上,这个我看过了,不太好使,谢谢

上面的图还比较清晰。。  
  不是很难

这个easy类型.报价500..有网站专门做这个.  
  找我也行

up

这比较简单,每数字的像素又没变,抓十个图,然后比较就成  
  下午有空给你写一个

UP

unit   Unit1;  
   
  interface  
   
  uses  
      Windows,   Messages,   SysUtils,   Variants,   Classes,   Graphics,   Controls,   Forms,  
      Dialogs,   ExtCtrls,   ImgList,   StdCtrls,   IdBaseComponent,   IdComponent,  
      IdTCPConnection,   IdTCPClient,   IdHTTP;  
   
  type  
      TForm1   =   class(TForm)  
          ImageList1:   TImageList;  
          Image1:   TImage;  
          IdHTTP1:   TIdHTTP;  
          Button1:   TButton;  
          Edit1:   TEdit;  
          procedure   Button1Click(Sender:   TObject);  
      private  
          {   Private   declarations   }  
      public  
          {   Public   declarations   }  
      end;  
   
  var  
      Form1:   TForm1;  
   
  implementation  
   
  {$R   *.dfm}  
   
  uses   pngimage,   Math;  
   
  function   SameCanvas(mCanvasA,   mCanvasB:   TCanvas):   Boolean;   {   比较两个画布是否相同   }  
  var  
      I,   J:   Integer;  
  begin  
      Result   :=   False;  
      if   not   Assigned(mCanvasA)   then   Exit;  
      if   not   Assigned(mCanvasB)   then   Exit;  
      for   I   :=   Min(mCanvasA.ClipRect.Left,   mCanvasB.ClipRect.Left)   to  
          Min(mCanvasA.ClipRect.Right,   mCanvasB.ClipRect.Right)   do  
          for   J   :=   Min(mCanvasA.ClipRect.Top,   mCanvasB.ClipRect.Top)   to  
              Min(mCanvasA.ClipRect.Bottom,   mCanvasB.ClipRect.Bottom)   do  
          begin  
              if   mCanvasA.Pixels[I,   J]   <>   clBlack   then   mCanvasA.Pixels[I,   J]   :=   clWhite;  
              if   mCanvasB.Pixels[I,   J]   <>   clBlack   then   mCanvasB.Pixels[I,   J]   :=   clWhite;  
              if   mCanvasA.Pixels[I,   J]   <>   mCanvasB.Pixels[I,   J]   then   Exit;  
          end;  
      Result   :=   True;  
  end;   {   SameCanvas   }  
   
  procedure   TForm1.Button1Click(Sender:   TObject);  
  const  
      cPoints:   array[0..3]   of   TPoint   =   (  
  (X:   -5;   Y:   -9),  
  (X:   -26;   Y:   -9),  
  (X:   -47;   Y:   -9),  
  (X:   -68;   Y:   -9)  
      );  
  var  
      vMemoryStream:   TMemoryStream;  
      vBitmap:   TBitmap;  
      vNumber:   TBitmap;  
      vPngObject:   TPngObject;  
      I,   J:   Integer;  
      S:   string;  
  begin  
      vMemoryStream   :=   TMemoryStream.Create;  
      vPngObject   :=   TPngObject.Create;  
      vBitmap   :=   TBitmap.Create;  
      vNumber   :=   TBitmap.Create;  
      try  
          IdHTTP1.Get(  
              'http://www.harbin.gov.cn/hrbzfw/poll_sdmp/images/vimage.php?show=true',  
              vMemoryStream);  
          vMemoryStream.Position   :=   0;  
          vPngObject.LoadFromStream(vMemoryStream);  
          Image1.Picture.Graphic   :=   vPngObject;  
          vBitmap.Width   :=   8;  
          vBitmap.Height   :=   10;  
   
          S   :=   '';  
          for   J   :=   0   to   3   do  
          begin  
              vBitmap.Canvas.FillRect(vBitmap.Canvas.ClipRect);  
              vBitmap.Canvas.Draw(cPoints[J].X,   cPoints[J].Y,   vPngObject);  
              for   I   :=   0   to   9   do  
              begin  
                  vNumber.Canvas.FillRect(vNumber.Canvas.ClipRect);  
                  ImageList1.GetBitmap(I,   vNumber);  
                  if   SameCanvas(vBitmap.Canvas,   vNumber.Canvas)   then  
                  begin  
                      S   :=   S   +   IntToStr(I);  
                      Break;  
                  end;  
              end;  
          end;  
      finally  
          vPngObject.Free;  
          vMemoryStream.Free;  
          vBitmap.Free;  
          vNumber.Free;  
      end;  
      Edit1.Text   :=   S;  
  end;  
   
  end.  
 

object   ImageList1:   TImageList  
      Height   =   10  
      Width   =   8  
      Left   =   64  
      Top   =   8  
      Bitmap   =   {  
          494C01010A000E00040008000A00FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600  
          0000000000003600000028000000200000002800000001002000000000000014  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
 

0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          0000000000000000000000000000000000000000000000000000000000000000  
          000000000000000000000000000000000000424D3E000000000000003E000000  
          2800000020000000280000000100010000000000A00000000000000000000000  
          000000000000000000000000FFFFFF0000000000000000000000000000000000  
          000000000000000000000000000000000000000000000000C3C3000099990000  
          3CBC00003CFC000099C40000C3980000993C00003C3C000099990000C3C30000  
          F9C3C33FF999993FF93C3C9F00FC3CCF39FC19E7991923F3C9233FF9E13F3DFC  
          F13F99FCF901C300E7810083C3E79F3999E7CFFC3CE7E7FC3CE7F3F93CE7F9E3  
          3CE7FCF999873CFCC3C79939E7E7C38300000000000000000000000000000000  
          000000000000}  
  end  
 

谢谢   zswang(伴水清清)(专家门诊清洁工)

lovebanyi(风云)   有点不地道

mark

并不是每个东西都是免费的!  
   
  ------------------------------------------------------- 本回复由大傻的破玩意儿【CSDN's   forum   Explorer】完成! 大傻的破玩意儿,今天你用了木有   !! 软件功能强大,速度超快!!支持中... 软件下载地址:http://CoolSlob.ys168.com

200RMB给你做个DLL直接用就可以了

QQ:17092674

给你做了一个演示www.allforyou.cn/demo.rar

posted on 2008-12-19 10:01 delphi2007 阅读(174) 评论(0)  编辑 收藏 引用
只有注册用户登录后才能发表评论。