delphi读取webbrowse中的图片显示在Image中
delphi读取webbrowse中的图片显示在Image中
==================================================
aa.html
单元文件
unit Unit11;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, OleCtrls, SHDocVw, ExtCtrls;type TForm11 = class(TForm) btn1: TButton; img1: TImage; wb1: TWebBrowser; btn2: TButton; mmo1: TMemo; edt1: TEdit; procedure FormCreate(Sender: TObject); procedure btn2Click(Sender: TObject); procedure btn1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form11: TForm11;implementationuses ActiveX, wininet, mshtml, Clipbrd;{$R *.dfm}procedure DomImg2Image(id:string; wb:TWebBrowser; img:TImage );var rang:IHTMLControlRange;begin rang:=((IHTMLDocument2(wb.Document).body as HTMLBody).createControlRange)as IHTMLControlRange; rang.add(IHTMLDocument2(wb.Document).images.item(id,EmptyParam)as IHTMLControlElement); rang.execCommand('Copy',False,0); img.Picture.Assign(ClipBoard);end;procedure TForm11.btn1Click(Sender: TObject);var i:Integer; rang:IHTMLControlRange;begin //遍历图片元素, 在memo中显示Img的ID和src属性 mmo1.clear; for i:= 0 to IHTMLDocument2(wb1.Document).images.length-1 do begin mmo1.lines.add((IHTMLDocument2(wb1.Document).images.item(i,EmptyParam)as IHTMLElement).getAttribute('id',0)); mmo1.lines.add((IHTMLDocument2(wb1.Document).images.item(i,EmptyParam)as IHTMLElement).getAttribute('src',0)); end;end;procedure TForm11.btn2Click(Sender: TObject);begin //edt1.Text是Img的ID值, webbrowse对象, TImage DomImg2Image(edt1.Text, wb1, img1);end;procedure TForm11.FormCreate(Sender: TObject);begin wb1.Navigate('c:\aa.html');end;end.