如何使用delphi将网站的一部分渲染为位图?
最近我看到了Raudus框架,它是delphi的ExtJs绑定/包装器。然而,它的独特之处在于,它呈现的组件看起来与浏览器中的组件完全一样。简单地说,它就像delphi IDE中Javascript组件的WYSIWYG设计器。我无法尝试它,因为我使用的是delphi personal (它需要dbrtl)。然而,观看演示电影需要一些时间来渲染组件(即使在调整了它们的大小之后),因此我相信它是通过web浏览器渲染引擎或类似的东西渲染的。
如果有人知道类似但开源的东西,请让我知道…提前谢谢你,我
发布于 2010-02-25 22:24:19
不久前,我发现了一个神秘的ActiveX调用:OleDraw。事实证明,使用嵌入式HTML (IWebBrowser2 )呈现WebBrowser并将输出抓取到位图中非常有效。
代码可能看起来有点像这样:
uses ActiveX, OleCtrls, SHDocVw;
b:=TBitmap.Create;
try
b.Width:=SizeX;
b.Height:=SizeY;
OleDraw(WebBrowser1.OleObject,DVASPECT_CONTENT,b.Canvas.Handle,Rect(0,0,SizeX,SizeY));
b.SaveToFile(FileName);
finally
b.Free;
end;发布于 2010-02-25 20:40:33
如果您对Internet Explorer呈现页面的方式不感兴趣,它将在TWebBrowser (内置组件)中正确显示,并且您可以从那里生成位图。
http://delphi.about.com/od/vclusing/a/wb_scren_shot.htm
http://www.delphi3000.com/articles/article_4132.asp?SK=
发布于 2010-02-25 21:54:28
Dave Baldwin's HTML display components现在是带有源代码的免费软件(甚至是专业版),并且可以在Delphi中工作到2006年(也就是2007年)。我不知道这些是否有帮助,因为您没有指定您使用的是哪个版本的Delphi。
https://stackoverflow.com/questions/2333652
复制相似问题