WebBrowser 中有个Form表单,里面有文字和图片, 我想问下如何能完整的获取Form里面的内容呢(文字我已经知道如何获取,关键是图片不知道如何获取)
我想把这个Form表单里的内容复制到另外一个WebBrowser里

解决方案 »

  1.   

    图片是一个链接来的,分析出链接url,然后在你的程序中直接使用就是了,或者下载下來,像这样:var
     ms:TMemoryStream;
    begin
     ms:=TMemoryStream.Create;
     IdHTTP1.Get('www.xx.com/1.jpg',ms);
     ms.Position:=0;
     ms.SaveToFile('D:\1.jpg');
     ms.Free;
    end;
      

  2.   

    unit Unit1;
    interfaceuses  
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP,  StdCtrls;type  TForm1 = class(TForm)    
    Button1: TButton;    
    IdHTTP1: TIdHTTP;    
    procedure Button1Click(Sender: TObject); 
    end;var  Form1: TForm1;
    implementation{$R *.dfm}uses jpeg;procedure TForm1.Button1Click(Sender: TObject);
    const  
    url = 'http://ptlogin2.qq.com/getimage?aid=15000701&0.9129723031485226';
    var  
     ms: TMemoryStream; 
     jpg: TJPEGImage;
    begin  
    ms := TMemoryStream.Create;   jpg := TJPEGImage.Create;  IdHTTP1.Get(url, ms);  
      ms.Position := 0;
      jpg.LoadFromStream(ms);  
      Canvas.Draw(10, 10, jpg);
      jpg.Free;  
      ms.Free;
      end;end.
      

  3.   

    参考procedure TfrmMain.DomImg2Image(wb:TWebBrowser);
    var
      i:Integer;
      rang:IHTMLControlRange;
      s:string;
    begin
      try
      s := (IHTMLDocument2(wb.Document).images.item('pic',EmptyParam) as IHTMLElement).getAttribute('src',0);
      //showmessage(s);
          rang:=((IHTMLDocument2(wb.Document).body as HTMLBody).createControlRange)as
            IHTMLControlRange;
          rang.add(IHTMLDocument2(wb.Document).images.item('pic',EmptyParam)as
            IHTMLControlElement);
          rang.execCommand('Copy',False,0);
          image1.Picture.Assign(ClipBoard);
      except
      end;
    end;
      

  4.   

    各位大大,我不是想获取网页里的图片,我是想获取网页中某个正在编辑的表单里的图片,这时的图片没有地址吧,比如 CSDN帖子的这个回复框,这个框里的图片应该怎样获取呢