小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

提取WebBrowser里的圖片 delphi

 sumstars 2014-11-19

有一個(gè)Form1,里面有image1和webBrowser1,我用WebBrowser1連接到一個(gè)有驗(yàn)證碼的網(wǎng)頁(yè),想把里面的圖片提取到image1里,應(yīng)該怎么做?

問(wèn)題補(bǔ)充:

我指的是圖片。例如:http://china.alibaba.com/member/join.htm驗(yàn)證碼的地址是: http://checkcode.china.alibaba.com/service/checkcode?sessionID=e9EgR8RbEt2F8k68tQGjCKJ9NZnf8%24cS那里的圖片是每次都變化的。我需要的是把WebBrowser里顯示的驗(yàn)證碼加載到TImage的對(duì)象里。下面的圖像如果看不清,就看這個(gè)鏈接:http://hiphotos.baidu.com/neek/pic/item/a4c5f0d3804a83fca9ec9ac3.jpeg 

最佳答案:

procedure DomImg2Image(src:string;wb:TWebBrowser;img:TImage);
var
  i:Integer;
  rang:IHTMLControlRange;
begin
  for i:=0 to IHTMLDocument2(wb.Document).images.length-1 do
    if Pos(src,(IHTMLDocument2(wb.Document).images.item(i,EmptyParam)as
      IHTMLElement).getAttribute('src',0))>0 then
    begin
      rang:=((IHTMLDocument2(wb.Document).body as HTMLBody).createControlRange)as
        IHTMLControlRange;
      rang.add(IHTMLDocument2(wb.Document).images.item(i,EmptyParam)as
        IHTMLControlElement);
      rang.execCommand('Copy',False,0);
      try img.Picture.Assign(ClipBoard)except end;
      break;
    end;
end;
procedure TForm1.WebBrowser1DocumentComplete(Sender:TObject;
const pDisp:IDispatch;var URL:OleVariant);
begin
  DomImg2Image('checkcode?',TWebBrowser(Sender),Image1);
end;
必須先uses ActiveX
initialization
OleInitialize(nil);
finalization
OleUninitialize;

還要加一個(gè)單元文件 clipbrd 和 mshtml。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類(lèi)似文章 更多