gpt4 book ai didi

delphi - 如何将网络浏览器中的所有内容保存为图像

转载 作者:行者123 更新时间:2023-12-03 15:45:30 24 4
gpt4 key购买 nike

我想将网络浏览器的内容保存为图像。这可能吗?

目的是创建页面的屏幕截图,然后在其他应用程序中将其作为图像查看。

有人可以帮忙吗?

最佳答案

这是一个article其中提供了一个示例:

uses ActiveX;

procedure WebBrowserScreenShot(const wb: TWebBrowser; const fileName: TFileName) ;
var
viewObject : IViewObject;
r : TRect;
bitmap : TBitmap;
begin
if wb.Document <> nil then
begin
wb.Document.QueryInterface(IViewObject, viewObject) ;
if Assigned(viewObject) then
try
bitmap := TBitmap.Create;
try
r := Rect(0, 0, wb.Width, wb.Height) ;

bitmap.Height := wb.Height;
bitmap.Width := wb.Width;

viewObject.Draw(DVASPECT_CONTENT, 1, nil, nil, Application.Handle, bitmap.Canvas.Handle, @r, nil, nil, 0) ;

with TJPEGImage.Create do
try
Assign(bitmap) ;
SaveToFile(fileName) ;
finally
Free;
end;
finally
bitmap.Free;
end;
finally
viewObject._Release;
end;
end;
end;

并像这样使用:

procedure TForm1.FormCreate(Sender: TObject) ;
begin
WebBrowser1.Navigate('http://delphi.about.com') ;
end;

procedure TForm1.WebBrowser1NavigateComplete2(ASender: TObject; const pDisp: IDispatch; var URL: OleVariant) ;
begin
WebBrowserScreenShot(WebBrowser1,'c:\WebBrowserImage.jpg') ;
end;

关于delphi - 如何将网络浏览器中的所有内容保存为图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7467049/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com