0

我正在开发一个能够从特定浏览器中提取呈现 HTML 图像的应用程序。我希望用户能够选择特定的浏览器来呈现 HTML 文件,并在图像文件中捕获呈现的输出。我还想一次捕获整个 HTML 渲染,而不仅仅是当时在浏览器中可见的内容。

我从 IE8 开始,我不确定从哪里开始获取实际渲染的输出。我可以使用 Process.Start() 在该浏览器中轻松打开文件,但我不知道如何返回呈现的输出。我看过一些沉没事件,但我不明白它是如何工作的,或者这是否是正确的方法。我只是想要一些方向,也许还有一些资源可以让我走上正确的道路。

4

3 回答 3

0

已编辑。我以为您正试图在浏览器中捕获渲染图像,例如 PNG、GIF 等。

如果您想将 HTML 输出捕获为图像,我会使用 WebBrowser 控件的DrawToBitmap方法……尽管它不是 100% 可靠的。显然对于开源浏览器(Webkit 等)来说,这变得容易多了。

于 2010-06-09T17:48:41.197 回答
0

你为什么要创造这个?现有的服务可以做同样的事情,比如http://browsershots.org ...

于 2010-06-09T17:42:31.507 回答
0

如果您愿意依赖于能够从用户屏幕上抓取图像(当然是在同一台 PC 上运行);您应该能够通过找到浏览器窗口边界矩形来做到这一点。然后使用 Graphics.CopyFromScreen 复制屏幕上显示的像素。

我在这里的回答中做了一个简单的例子,它向您展示了如何截取用户屏幕的屏幕截图。应该很容易根据您的需要进行修改。

于 2010-06-09T17:42:57.713 回答