如何获取WebBrowser中表单Form的图片

heikeyanxi 2012-08-29 11:23:45
WebBrowser 中有个Form表单,里面有文字和图片, 我想问下如何能完整的获取Form里面的内容呢(文字我已经知道如何获取,关键是图片不知道如何获取)
我想把这个Form表单里的内容复制到另外一个WebBrowser里
...全文
259 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
aa20000 2012-08-30
  • 打赏
  • 举报
回复
unit Unit1;
interface

uses
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.

heikeyanxi 2012-08-30
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

参考
Delphi(Pascal) code

procedure TfrmMain.DomImg2Image(wb:TWebBrowser);
var
i:Integer;
rang:IHTMLControlRange;
s:string;
begin
try
s := (IHTMLDocument2(wb.Document).images.item('pic',Emp……
[/Quote]
好的,我试下
heikeyanxi 2012-08-30
  • 打赏
  • 举报
回复
各位大大,我不是想获取网页里的图片,我是想获取网页中某个正在编辑的表单里的图片,这时的图片没有地址吧,比如 CSDN帖子的这个回复框,这个框里的图片应该怎样获取呢
bdmh 2012-08-30
  • 打赏
  • 举报
回复
参考

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;
heikeyanxi 2012-08-30
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

参考
Delphi(Pascal) code

procedure TfrmMain.DomImg2Image(wb:TWebBrowser);
var
i:Integer;
rang:IHTMLControlRange;
s:string;
begin
try
s := (IHTMLDocument2(wb.Document).images.item('pic',Emp……
[/Quote]
不行,没法获取表单里面的内容,
kaikai_kk 2012-08-29
  • 打赏
  • 举报
回复
图片是一个链接来的,分析出链接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;
heikeyanxi 2012-08-29
  • 打赏
  • 举报
回复
求关注,没人知道吗

5,927

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧